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

Java 防止特定方法在TestNG测试中使用AfterMethod,java,unit-testing,annotations,testng,Java,Unit Testing,Annotations,Testng,简单的问题-我在TestNG测试类中有这样的AfterMethod @AfterMethod public void tearDown() throws Exception { userService.deleteUser(userName); } 所有的方法都像预期的那样使用它,但是有一个丑陋的家伙 @Test public void testDeleteUser() throws Exception { createUser(); assertNotNull

简单的问题-我在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)

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

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

Thanx这是解决我问题的最佳答案-我问了几个有经验的开发人员,他们给了我相同的答案。另一个例子是,如果有人在寻找这样的解决方法(如我的问题),那么测试的设计肯定有问题……Thanx这是解决我问题的最佳答案——我问了几个有经验的开发人员,他们给了我同样的答案。另一种情况是,如果有人在寻找这样的解决方法(如我的问题中),那么测试的设计肯定有问题。。。