3
我写了一个很长的参数化测试,一方为参数的构造函数调用带有双括号语法来构建不同的对象为二维数组的每一行:在参数亚军JUnit测试用例的构造函数调用
Object[][] data = new Object[][] {
{ 1, 2, 3, new Blah() {{ setA(); }} }
{ 1, 2, 3, new Blah() {{ setB(); }} }
...
因为JUnit的哲学是在每个@Test上调用测试用例构造函数,所以我假设它会对参数化测试执行相同的操作 - 但我看到它只调用该构造函数(为参数化测试定义的构造函数)每行一次,而不是每行每次测试一次。
因此,测试领域的行为是全球性的,测试正在相互影响。我想知道是否有办法强制跑步者为每个测试调用构造函数,就像常规的JUnit跑步者一样。谷歌和JUnit网页在这种情况下没有帮助我。我真的不想重写整个测试,这个测试是广泛而且相当可读的。
你是说4.10中的行为已经改变,还是仍然存在缓存行? – orbfish
嗯,这并没有真正回答这个问题,但是感谢你的时间,它帮助我想出了一个解决方法。 – orbfish