Play Framework 2 scala specs2 mockito,我该如何编写一个模拟单元测试

The*_*rav 8 unit-testing scala mockito specs2 playframework-2.0

因此,游戏框架谈论有specs2和specs2有mockito

我想使用mockito编写一个测试,其中控制器调用的模板是mockito mock.

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

据我所知,模拟函数默认情况下不会在规范中公开,所以如何创建mockito mock?

请给出一个示例,其中包括创建模拟和断言使用某些参数调用模拟

The*_*rav 6

经过大量的谷歌搜索和拔毛后,我想出了以下内容

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"))
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,默认情况下,该游戏目前还没有包含mockito依赖.您需要在Build.scala中添加它 (4认同)