我的@Test
课程中有30个@Test
方法和2个 Java 方法。
我需要在具体的@Test
方法之后运行这两个 Java 方法,例如,
TestMethod5()
。
我怎么能这样做?
例如:
@Test
public void TestMethod5() {
/* compiled code */
}
public void Method1(){/* compiled code */};
public void Method2{/* compiled code */};
需要2种方法:
1)使用testng.xml
2)使用Intellij IDEA注意:
@BeforeMethod
和@AfterMethod
仅适用于 extends classname 命令。这两个Java方法检查渲染 使用assertTrue()
方法的按钮和标签,所以我不想弄乱我的 与他们一起的基类。
是的,这些方法都是测试的一部分(以及未来的类似测试),但我不能只复制它们的内容并粘贴到我想要的每个方法中......然后@Test方法将被混乱(大代码)我只需要检查这些方法中标签和按钮的渲染:
public void method1_ButtonsTest() {
assertTrue1();
assertTrue2();
}
public void method2_LabelsTest() {
assertTrue3();
assertTrue4();
}
@Test
public void Test1();
@Test
public void Test2();
@Test
public void Test3();
@Test
public void Test4();
@Test
public void Test5();
@Test
public void Test6();
@Test
public void Test7();
@Test
public void Test8();
答案 0 :(得分:1)
为什么不能只调用这些方法?
@Test public void testMethod5() {
...
method1();
method2();
}
答案 1 :(得分:0)
如果您不想修改基类并且也不想直接在测试中调用方法,那么您可以将另一个@AfterMethod添加到测试类中,并仅运行您调用的测试用例的方法out,然后调用基类中的@AfterMethod,如下所示:
@AfterMethod(alwaysRun = true)
public void postTestCase(ITestResult _result) {
if (_result.getMethod().getMethodName().equals("Test1")){
System.out.println("Do something here...");
}
//Call the @AfterMethod in the base class
super.postTestCase(_result);
}