我可以使用自定义代码扩展jmock对象

时间:2011-12-06 12:20:35

标签: jmock

我有一个约10个方法的回调接口,我在单元测试中使用。 我需要测试在测试期间设置的XML字符串的值。

我已经致力于jmock用于其他测试用例。

执行此操作的首选“jmock方式”似乎是编写自定义 org.hamcrest.Matcher 对象来测试返回字符串的值。

然而这听起来很难。有更简单的方法吗?

  • 是否有一种简单的方法可以让jmock匹配器将String值传递给封闭的String []?然后我可以检查jmock子句之外的字符串
  • 是否有一种简单的方法可以扩展模拟对象,因此我实现了自己的方法。我希望有类似
  • 之类的东西
Callback testCB = mockery.mock(Callback.class)
{
    public void myOverrideMethod(String strIn)
    {
        ... I can examine the string values in here ...
    }
};

我当然可以定义自己的存根对象,但我很懒...

1 个答案:

答案 0 :(得分:0)

如果您足够了解解决方案的代码,那么您应该能够应对编写匹配器吗?尝试扩展TypeSafeDiagnosingMatcher并查看您要求填写的两种方法。重要的是观察测试失败并确保诊断消息有用。

当你习惯了这个时,你会发现你开始构建一些可以重复使用的匹配器集合。