【发布时间】:2021-02-01 08:03:58
【问题描述】:
所以,我正在尝试在各种场景中对一个类进行单元测试。我们使用 JUnit V 4。
我有一个 setUp 方法,其中我 reStub 模拟以返回预期的模拟值。
我有 4 个测试:test1-test4。 test1,test2 与 perTestSetup 方法中配置的预期模拟值一起工作。
Test t3 需要 MockClass 来抛出异常,所以我在 t3 中单独配置。现在 t3 工作正常,因为模拟按预期抛出异常。
但是当 perTestSetup 在运行 test4 之前尝试重置 mock 以返回 mockResult 时,它会失败并抛出在 t4 中配置的相同运行时异常。在模拟 perTestSetup() 之前,我还尝试了 reset()。但这同样失败了。
我在这里错过了什么?
@Before
public void perTestSetup(){
when(MockClass.functionCall(...)).thenReturn(mockResult);
}
@Test
public void test1(){
}
@Test
public void test2(){
}
@Test
public void test3(){
when(MockClass.functionCall(...)).thenThrow(new RuntimeExcption());
...
}
@Test
public void test4(){
}
【问题讨论】:
标签: unit-testing junit mockito junit4 stubbing