相同特征之前和之后
Before and After in the same trait
我在 scala 中进行了下一次代码测试,我想要在每次测试之前和之后的方法 运行,但是我有一个错误
这是我的测试
import java.util.{Calendar, UUID}
import com.smartchat.helpers.BeforeAllAfterAll
import com.smartchat.models.SmartChat.{ComplaintReasonType,
ComplaintContentType}
import org.junit.runner.RunWith
import org.specs2.execute.{Result, AsResult}
import org.specs2.mutable.{After, Before}
import org.specs2.runner.JUnitRunner
import scala.concurrent.duration._
import scala.concurrent.{Future, Await}
class ComplaintModelTest extends DatabaseSpec{
class TestingEnvironment extends ComplaintComponentImpl
with StorageComponentImpl
val environment = new TestingEnvironment
"Complaint model" should {
"test get complaints by reason" in new BeforeAfterEach {
ok
}
"test get complaints by type" in new BeforeAfterEach {
ok
}
}
}
trait BeforeAfterEach extends Before with After{
override def before = {
println("++++++++++++++")
}
override def after = {
println("--------------")
}
}
这是错误的输出
trait BeforeAfterEach inherits conflicting members:
[error] method apply in trait Before of type [T](a: => T)(implicit evidence: org.specs2.execute.AsResult[T])org.specs2.execute.Result and
[error] method apply in trait After of type [T](a: => T)(implicit evidence: org.specs2.execute.AsResult[T])org.specs2.execute.Result
[error] (Note: this can be resolved by declaring an override in trait BeforeAfterEach.)
[error] trait BeforeAfterEach extends Before with After{
[error] ^
[error] one error found
[error] (test:compileIncremental) Compilation failed
我不知道如何修复它。
我想要每个测试示例前后的方法 运行
如果你想在BeforeAfterEach
中定义before
和after
方法,那么你应该继承自org.specs2.mutable.BeforeAfter
。
实现这一点的推荐方法是使用现有的 org.specs2.specification.BeforeAfterEach
特征:
class MySpec extends Specification with BeforeAfterEach {
def before = println("before")
def after = println("after")
"test 1" >> ok
"test 2" >> ok
}
我在 scala 中进行了下一次代码测试,我想要在每次测试之前和之后的方法 运行,但是我有一个错误
这是我的测试
import java.util.{Calendar, UUID}
import com.smartchat.helpers.BeforeAllAfterAll
import com.smartchat.models.SmartChat.{ComplaintReasonType,
ComplaintContentType}
import org.junit.runner.RunWith
import org.specs2.execute.{Result, AsResult}
import org.specs2.mutable.{After, Before}
import org.specs2.runner.JUnitRunner
import scala.concurrent.duration._
import scala.concurrent.{Future, Await}
class ComplaintModelTest extends DatabaseSpec{
class TestingEnvironment extends ComplaintComponentImpl
with StorageComponentImpl
val environment = new TestingEnvironment
"Complaint model" should {
"test get complaints by reason" in new BeforeAfterEach {
ok
}
"test get complaints by type" in new BeforeAfterEach {
ok
}
}
}
trait BeforeAfterEach extends Before with After{
override def before = {
println("++++++++++++++")
}
override def after = {
println("--------------")
}
}
这是错误的输出
trait BeforeAfterEach inherits conflicting members:
[error] method apply in trait Before of type [T](a: => T)(implicit evidence: org.specs2.execute.AsResult[T])org.specs2.execute.Result and
[error] method apply in trait After of type [T](a: => T)(implicit evidence: org.specs2.execute.AsResult[T])org.specs2.execute.Result
[error] (Note: this can be resolved by declaring an override in trait BeforeAfterEach.)
[error] trait BeforeAfterEach extends Before with After{
[error] ^
[error] one error found
[error] (test:compileIncremental) Compilation failed
我不知道如何修复它。 我想要每个测试示例前后的方法 运行
如果你想在BeforeAfterEach
中定义before
和after
方法,那么你应该继承自org.specs2.mutable.BeforeAfter
。
实现这一点的推荐方法是使用现有的 org.specs2.specification.BeforeAfterEach
特征:
class MySpec extends Specification with BeforeAfterEach {
def before = println("before")
def after = println("after")
"test 1" >> ok
"test 2" >> ok
}