所以 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/