我在类UserRegistrationTest中有两个方法,如下所示。当我运行类时,两个方法成功运行(首先运行UserRegistrationTest,然后再运行userLoginSuccess)。但是,当我只想调试测试userLoginSuccess时,它也会触发UserRegistrationTest。这是预料之中的,因为我已经配置了dependisonMethods。
当我进行单元测试/调试时,我试图找到一种方法来使dependsonMethods无效。我按照以下链接中给出的路径进行操作,但无法最终确定解决方案。
https://groups.google.com/forum/#!topic/testng-users/K9lwhXuSLZM https://youtrack.jetbrains.com/issue/IDEA-141621
请提供您的想法。
顺便说一句,当我以TestNg套件的身份运行时,我可以通过提供listner(IAnnotationTransformer)来使DependencyMethods和dependsonGroups无效。当我作为maven测试运行时,我也可以通过在pom.xml中提供它来使其无效。但是,当我以TestNG Test运行时,我无法以编程方式将dependsOnMethods设置为null。
public class UserRegistrationTest {
@Test(groups = { "userRegistration" })
public void registerUserSuccess(ITestContext context) {
...
context.setAttribute("user", user);
}
@Test(dependsOnMethods = { "userRegistration" })
public void userLoginSuccess(ITestContext context) {
User user = (User) context.getAttribute("user");
...
}
}
答案 0 :(得分:0)
您可以通过定义以下方法来忽略任何依赖方法:ignoreMissingDependencies = true
方法本身就是说
public class UserRegistrationTest {
@Test(groups = { "userRegistration" })
public void registerUserSuccess(ITestContext context) {
...
context.setAttribute("user", user);
}
@Test(dependsOnMethods = { "userRegistration" }, ignoreMissingDependencies = true)
public void userLoginSuccess(ITestContext context) {
User user = (User) context.getAttribute("user");
...
}
}