【发布时间】:2016-07-13 19:07:44
【问题描述】:
这是我的问题:我正在测试扩展 SuperClass 的 UnderTest 类。 SuperClass 有一个私有映射(“myMap”)和一个能感知它的私有方法。当我使用 new() 构造函数创建 UnderTest 类的实例时,超类的 myMap 未初始化(实际上这是由整个系统的框架完成的,由于测试原因我无法这样做)。 运行测试时我收到 NullPointerException 因为 map == null; 我试图用 invoke() 模拟该方法,但我做错了,因为我仍然得到相同的异常。我的错在哪里
public class UnderTest extends SuperClass
{
public void methodUnderTest()
{....
put(str, obj);
....}
}
public class SuperClass
{
private Map<String, Object> myMap;
private void innerMethod (String str, Object obj)
{.... myMap.put(str, obj);}
}
该类使用 jmockit 运行
Class ThestSomething{
@Mocked
SuperClas superClass;
@BeforeMethod
public void setUp
{
UnderTest underTest = new UnderTest();
}
@Test
public void testThis()
{
new Expectetions {{ invoke("superClass", "innerMethod", str, obj); }};
}
【问题讨论】:
标签: jmockit