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

时间:2013-10-27 13:43:29

标签: scala playframework mockito specs2

根据this文件验证我们需要的来电顺序:

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, Specs2与此版本的Play捆绑在一起, Mockito 1.9.5

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

非常感谢:)

1 个答案:

答案 0 :(得分:1)

您需要使用andThen

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