JMock和Scala - 意外的调用错误

时间:2013-03-19 10:05:11

标签: scala junit mocking jmock

我是JMock的新手并尝试通过Scala进行简单的单元测试。测试是模拟一个接口,然后在模拟接口上执行方法之前设置一些xpectations。

 val context = new Mockery
 val mockObj= context.mock(classOf[SomeClassInterface])

 @Test def sometest = {
 context.checking(
      new Expectations() {
        allowing (mockObj).doFunc1(); 
        will(returnValue(someResponse);
        allowing (mockObj).doFunc2(someResponse); 
        will(returnValue(someResponse));
        allowing (mockObj).doFunc3(someResponse); 
        will(returnValue("Enabled"));
       }
 )
 var status:String = mockObj.doSomething()
 //context.assertIsSatisfied();
 Assert.assertTrue(status.equalsIgnoreCase("Enabled"))

}

这会导致错误;

  

意外调用; mockObj.doSomething().........之前发生了什么;什么!

任何想法出了什么问题?

1 个答案:

答案 0 :(得分:0)

不确定Scala,但是你错过了双重'{{''}}'语法吗?我们对此感到非常抱歉,但这是我们用Java做的最好的事情。

外部“{}”是一个匿名子类,内部“{}”是一个初始化块。