防止特定方法在TestNG测试中使用AfterMethod

时间:2013-04-25 19:48:15

标签: java unit-testing annotations testng

简单问题 - 我的TestNG测试类中有 AfterMethod

@AfterMethod
public void tearDown() throws Exception {
    userService.deleteUser(userName);
}

所有方法都按预期使用它,但有一个丑陋的家伙

    @Test
public void testDeleteUser() throws Exception {
    createUser();
    assertNotNull(userService.findByUserName("user01"));
    userService.deleteUser(userName);
    assertNull(userService.findByUserName("user01"));
}

他不需要 AfterMethod ,所以我收到了像

这样的消息
java.lang.IllegalArgumentException: attempt to create delete event with null entity

在此测试方法结束时向实体添加内容可以解决问题以及缓存异常,但我正在寻找专业解决方案来强制某些方法在类设置中使用After或Before方法(所以我不这样做需要任何外部xml与组)。

1 个答案:

答案 0 :(得分:1)

将testDeleteUser()移动到单独的类。