我很难将我的scala测试类中的东西从specs“转移”到specs2。我有的最后一件事是问题doBefore{}
和一些"test" in {}
我"testing" should { doBefore{}
和一些人 "getting" in {} }
给我这个错误
说明 资源路径 位置 类型
找不到 org.specs2.execute.AsResult[Unit] 类型的证据参数的隐式值
我假设“单元”是我项目中的类,但两者doBefore
都in {}
没有返回任何东西,所以我不知道发生了什么。
我doBefore
的只是用随机值填充一些类,例如(这个在类中extends SpecificationWithJUnit with TestUtil with BeforeExample with AfterExample
"retrieving and counting users by criteria" should {
var user1: User = null
var user2: User = null
var user3: User = null
doBefore {
val params = Map("login" -> "notExist", "roles" -> Seq(someRoles).asJava
val params2 = Map("login" -> "notExistAnother", "roles" -> Seq(someRoles).asJava
val params3 = Map("login" -> "notExistAnotherAnother", "roles" -> Seq(someRoles).asJava).asJava
val users = Seq(params, params2, params3).map( { PopulateUser.insertUserParams(_).asInstanceOf[User] })
user1 = users(0)
user2 = users(1)
user3 = users(2)
}
我对 Scala 很陌生,但我在 specs2 中读到 doBefore 看起来不同,但老实说,我不知道我应该如何在我的代码中实现它。我正在读这个。所以有人知道我应该如何在我的代码中实现它以及导致它的原因(我的意思是 beetwen specs 和 specs2 的差异很大,但不知何故我的测试(除了 doBefore)很少出现相同的错误)