Scala、Play框架、Specs2、Mockito,验证调用顺序的正确方法是什么?

Scala、Play框架、Specs2、Mockito,验证调用顺序的正确方法是什么?,scala,playframework,mockito,specs2,Scala,Playframework,Mockito,Specs2,根据核实我们所需通话顺序的文件: 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

根据核实我们所需通话顺序的文件:

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)
    }
  }
...
我犯了一个错误

值则不是 org.specs2.matcher.MatchResult[选项[models.domain.user.user]]

还有一个警告

现在是一个保留字;不推荐将其用作标识符

我正在使用Play framework 2.2.0, 与此版本的Play捆绑在一起的Specs2, Mockito 1.9.5

请您在正确的文件中指出哪些内容包含有关验证通话顺序的信息

非常感谢:)

您需要使用

there was one(db).readUserByid(id) andThen one(db).createUser(anyString)