【问题标题】:Prevent particular method from using AfterMethod in TestNG test防止特定方法在 TestNG 测试中使用 AfterMethod
【发布时间】:2013-04-25 19:48:14
【问题描述】:

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

【问题讨论】:

    标签: java unit-testing annotations testng


    【解决方案1】:

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

    【讨论】:

    • Thanx 这可能是我的问题的最佳答案 - 我问了几个有经验的开发人员,他们给了我相同的答案。另一种情况是,如果有人在寻找这种解决方法(如我的问题),那么测试的设计一定有问题......
    猜你喜欢
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    相关资源
    最近更新 更多