unit-testing - Play Framework 2 scala specs2 mockito,如何编写模拟单元测试

标签 unit-testing scala playframework-2.0 mockito specs2

所以 play 框架谈到了有 specs2 和 specs2 有 mockito

我想使用 mockito 编写一个测试,其中 Controller 调用的模板是一个 mockito 模拟。

到目前为止,我发现的所有文档都是 Java 实现,您可以在其中调用模拟静态函数并将 Mocked 类作为泛型参数。

据我所知,在规范中默认情况下没有公开模拟功能,那么如何创建模拟功能呢?

请举一个例子,包括创建模拟,并断言模拟是用某些参数调用的

最佳答案

经过大量的谷歌搜索和头发拉扯,我想出了以下内容

package test

import org.specs2.mutable._

import play.api.test._
import play.api.test.Helpers._

import org.specs2.mock._
import org.mockito.Matchers

class ToTest {
  def go(a:String) = {
    "other"
  }
}

class MockSpec extends Specification with Mockito {
  "Mock" should {
      "work" in {
        //assemble
        val m = mock[ToTest]
        m.go(anyString) returns "tested"

        //act
        val result = m.go("test")


        //assert
        result must equalTo("tested")
        there was one(m).go(Matchers.eq("test"))
      }
  }
}

关于unit-testing - Play Framework 2 scala specs2 mockito,如何编写模拟单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17563753/

相关文章:

scala - 传递选择的选定值以形成操作

unit-testing - 将可选消息参数添加到assertEquals

javascript - 更改 mocha 的默认超时

java - 如何模拟 HTTP 响应

scala - "::"在 Scala 中意味着什么?

java - Play 2.0.4 更新使用 @EmbeddedId 的类时出现问题

c# - MS 单元测试中的异常?

scala - Scalaz 7 中 map2 的新名称是什么?

algorithm - 从 Map 的 List 表示到 Scala 中的真实 Map

java - java中如何将上传的多个pdf文件存储到特定位置?