0

我正在尝试将 mockito 与 scalatest 一起使用,但是我的 mock 总是返回 null。它是一个简单的测试,但是对 post 的调用没有返回我期望的对象(someObj3),而是返回 null。任何想法发生了什么?在 Scala 中是否还有一个等效的 API 可以让我在创建期望时传递特定类或类型的任何参数?

@Test def mockTestt = {
 var mock:Someclass = Mockito.mock(classOf[Someclass]);
 systemUnderTest.setSomeClass(mock)

 when(mock.post(someObj1,someObj2))
        .thenReturn(someObj3) 

 var status:String = systemUnderTest.isOpen(someObj1, someObj2)
 Assert.assertTrue(status.equalsIgnoreCase("Enabled"))

}

4

1 回答 1

0

可能模拟本身不是null,而是您没有存根或模拟您在创建后使用的模拟的成员。

如果您可以切换到 Specs2,您会发现它为 Mockito 提供的 DSL 更容易处理。您仍然需要存根/模拟模拟的所有嵌套/附属成员,但如果这样做,您的代码将少得多嘈杂和冗长。

于 2013-03-20T15:09:03.013 回答