0

我有一个在单元测试中使用的~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 ...
    }
};

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

4

1 回答 1

0

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

当您习惯这一点时,您会发现您开始构建一些可以重用的匹配器集合。

于 2012-01-24T10:03:16.120 回答