【发布时间】:2021-04-05 19:13:03
【问题描述】:
我正在为 final 类编写一个测试用例,该类在其中定义了 static 方法。
现在测试用例运行良好,但是当我点击代码覆盖率时,它显示 0%,尽管测试用例运行良好。
我正在使用 PowerMock 和 EasyMock 并使用 Junit4。
我的班级
public class Meals {
public static String getName(String name) {
if (name == null) {
return "bad";
} else {
return "good";
}
}
}
还有我的测试用例
import static org.junit.Assert.assertEquals;
import org.easymock.EasyMock;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest(Meals.class)
public class MealsTest {
@Before
public void setUp() throws Exception {
PowerMock.mockStatic(Meals.class);
}
@Test
public void testMeals() {
EasyMock.expect(Meals.getName(null)).andReturn("bad");
PowerMock.replayAll();
assertEquals("bad", Meals.getName(null));
PowerMock.verifyAll();
}
}
据我所知,这是因为注释 Preparefortest 和 RunWith ,但我不确定。
所以任何帮助将不胜感激。
【问题讨论】:
标签: java testing junit powermock easymock