TestNG没有执行@BeforeMethod

时间:2015-05-07 15:27:22

标签: java testng

我想使用相同的@BeforeMethod实例来测试来自不同类的测试,但它不会工作

 package com.code.theCode

 public class theConfiguration{

    @BeforeMethod(groups = {"example"}, alwaysRun = true)
    public void setupMethod(){
       System.out.println("inside setupMethod");
    }
 }

/////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////

 package com.code.test

 public class theTest{

    @Test(groups = {"example"}, alwaysRun = true)
    public void setupMethod(){
       System.out.println("inside test");
    }
 }

的testng.xml

<suite name="AllTests" verbose="1">
   <test name="AllTests">
     <groups>
       <run>
          <include name="example">
       </run>
      </groups>
      <packages>
         <package name="com.code.*" />
      </packages>
   </test>

当我运行我的测试时,我得到空白的系统

任何帮助非常感谢

1 个答案:

答案 0 :(得分:3)

创建一个抽象类,其中包含您的配置方法(您想要用于更多@Tests的内容)。之后,使用创建的Abstract类扩展Test类。例如:

public abstract class configurationClass {

  @BeforeMethod
  public void beforeMethod() {
    System.out.println("beforeMethod");
  }

}

public class testClass extends configurationClass {

  @Test
  public void test1() {
    System.out.println("test1");
  }

  @Test
  public void test2() {
    System.out.println("test2");
  }

}

运行测试类时,输出将为:

beforeMethod
test1
beforeMethod
test2