【发布时间】:2013-03-13 19:26:49
【问题描述】:
我正在使用 JMockit 1.1,我想要做的就是调用一个私有方法并测试返回值。但是,我无法从 JMockit De-Encapsulation 示例中准确理解如何执行此操作。
我要测试的方法是这个类中的私有方法:
public class StringToTransaction {
private List<String> parseTransactionString(final String input) {
// .. processing
return resultList;
}
}
我的测试代码如下。
@Test
public void testParsingForCommas() {
final StringToTransaction tested = new StringToTransaction();
final List<String> expected = new ArrayList<String>();
// Add expected strings list here..
new Expectations() {
{
invoke(tested, "parseTransactionString", "blah blah");
returns(expected);
}
};
}
我得到的错误是:
java.lang.IllegalStateException:缺少对模拟类型的调用 这点;请确保此类调用仅在 声明一个合适的模拟字段或参数
也许我在这里误解了整个API,因为我不认为我想模拟类..只是测试调用私有方法的结果。
【问题讨论】:
标签: java junit jmockit private-methods