如何使用TestSuite.class文件从类中运行特定的@Test方法?

时间:2016-09-13 13:34:33

标签: java selenium-webdriver junit

我有一个类,如下面的方法......

class one{

    @Test
    method1{}

    @Test
    method2{}

    @Test
    method3{}

}

我使用下面的类使用JUnit运行上面的测试。

class runsuites{

    @RunWith(Suite.class)

    @SuiteClasses({

        one.class

    }

}

这会运行所有@Test方法。

但是,我想只运行方法method1method3

我怎样才能实现这个目标?

2 个答案:

答案 0 :(得分:1)

看看这个:Grouping JUnit tests

您可以使用@Category对测试进行分组。首先创建一个类别界面。

public interface MyCategory {}

然后将类别添加到它应该进行的测试中。

class One {

  @Test
  @Category(MyCategory.class)
  public void method1(){}

  @Test 
  public void method2(){}

  @Test
  @Category(MyCategory.class)
  public void method3(){}

}

然后为该类别创建一个套件:

 @RunWith(Categories.class)
 @IncludeCategory(MyCategory.class)
 @SuiteClasses( { One.class })
 public class RunSuites {}

答案 1 :(得分:0)

您可以使用@Ignore注释对method2进行注释。我认为更好的解决方案需要一些自定义库或设置测试类别(我建议):

read about tests categories here