有时候辛苦写了好多测试用例,但跑起来测试是否能跑通却依赖外部环境了。这种 情况非常恼人,无奈只能将测试注释掉,但是又带来一个问题,当一个测试类中 所有测试用例都被注销的时候,JUnit会报错:
Results :
Tests in error:
initializationError(pl.hachune.test.DemoTest): No runnable methods
Tests run: 0, Failures: 0, Errors: 1, Skipped: 0
不得不又追加一个丑陋的 src_shell{testDummy} 空方法。今天实在忍受不了,查 到其实Junit自带就有比较简单地解决办法。
package pl.hachune.test;
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
public class DemoTest {
@Ignore // 增加这句,顺便还可以增加一些注释,为什么需要忽略等等
@Test
public void testTrue {
assertTrue(1 == 0);
}
}
在跑就自动忽略这个用例啦,即使测试类中所有测试用例都忽略掉也能正常运行。
更加高级的用法可以考虑 src_shell{@RunIf} 等等根据条件判断的。没用过就先不 介绍了。