【问题标题】:How to Run particular @Test methods from a class using TestSuite.class file?如何使用 TestSuite.class 文件从类中运行特定的 @Test 方法?
【发布时间】:2016-09-13 13:34:33
【问题描述】:

我有一个具有以下方法的类...

class one{

    @Test
    method1{}

    @Test
    method2{}

    @Test
    method3{}

}

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

class runsuites{

    @RunWith(Suite.class)

    @SuiteClasses({

        one.class

    }

}

这会运行所有的@Test 方法。

但是,我只想运行方法 method1method3

我怎样才能做到这一点??

【问题讨论】:

  • 旁注:只是因为可以@Ignore 某些测试;要小心真的这样做。例如,如果某些测试“不稳定”(偶尔失败);然后不要忽视它 - 找到根本原因并解决它。

标签: java selenium-webdriver junit


【解决方案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 {}

【讨论】:

  • 谢谢,我用分类知道了。
  • 酷,您应该接受其中一个答案,这样您的问题就不会显示为未回答。
【解决方案2】:

你可以用@Ignore注解来注解method2。我认为更好的解决方案需要一些自定义库或设置测试类别(我推荐):

read about tests categories here

【讨论】:

  • 谢谢,我用分类知道了。
猜你喜欢
  • 2017-07-27
  • 2014-10-12
  • 2014-10-30
  • 2016-10-11
  • 1970-01-01
  • 2019-06-18
  • 2017-08-03
  • 2014-08-23
  • 2012-08-31
相关资源
最近更新 更多