0

根据这个文件来验证我们需要的调用顺序:

val m1 = mock[List[String]]
val m2 = mock[List[String]]

m1.get(0)
m1.get(0)
m2.get(0)

here was one(m1).get(0) then one(m1).get(1)

用我的代码

...
  val db = mock[Database]

  "The code" should {

    "Should do something" in {
      val id = "id"
      db.readUserByid(anyString) returns None

      val rv = api.login(id)

      there was one(db).readUserByid(id) then one(db).createUser(anyString)
    }
  }
...

我收到一个错误

那么 value 不是 org.specs2.matcher.MatchResult[Option[models.domain.user.User]] 的成员

和警告

then 现在是保留字;不推荐用作标识符

我正在使用 Play framework 2.2.0,Specs2 与这个版本的 Play 捆绑,Mockito 1.9.5

您能否指出一份正确的文件,其中包含有关验证呼叫顺序的信息?

非常感谢 :)

4

1 回答 1

1

你需要使用andThen

there was one(db).readUserByid(id) andThen one(db).createUser(anyString)
于 2013-10-27T22:06:03.890 回答