我有随机失败的测试没有我的CI服务器。 我在tearDown()方法中遇到NullPointerException的问题。
导致此行为的常见结构很简单:
@Test
class MyRandomlyFailingTest extends AbstractTestNGSpringContextTests {
@Autowired
private SomeSpringBean someSpringBean;
@BeforeMethod
public void beforeMethod() {
someSpringBean.addTestData("");
}
@AfterMethod
public void afterMethod() {
someSpringBean.removeTestData("");
}
}
所以我在@AfterMethod
中有随机空字段,这些字段在运行测试时显然很好。但不知何故,字段再次为空。
@Autowired
由spring 3.2提供
所以我无法找到它发生的原因。只有解决方法是停止使用@AfterMethod
注释