Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Mockito和Scalatest匹配的参数_Scala_Junit_Mockito_Scalatest - Fatal编程技术网

与Mockito和Scalatest匹配的参数

与Mockito和Scalatest匹配的参数,scala,junit,mockito,scalatest,Scala,Junit,Mockito,Scalatest,我试图将mockito与scalatest一起使用,但是我的mock总是返回null。这是一个简单的测试,但是对post的调用并没有返回我期望的对象(someObj3),而是返回null。知道发生了什么吗?Scala中是否有一个等价的API,允许我在创建期望时传递特定类或类型的任何参数 @Test def mockTestt = { var mock:Someclass = Mockito.mock(classOf[Someclass]); systemUnderTest.setSomeCl

我试图将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"))

}

模拟本身可能不是
null
,但您没有在创建模拟后对正在使用的模拟的成员进行存根或模拟


如果您可以切换到Specs2,您会发现它为Mockito提供的DSL非常容易处理。您仍然需要对mock的所有嵌套/辅助成员进行存根/模拟,但如果这样做,代码的噪音和冗长程度将大大降低。

您在何处/如何定义
someObj3
?如果没有这个定义,它可能会工作,并且因为没有定义/设置
someObj3
而返回null。是的,mock正在做它的工作,但是我使用的参数没有通过相等性测试。我现在已经能够解决了。谢谢