相关疑难解决方法(0)

使用命令行从JUnit类运行单个测试

我试图找到一种方法,允许我只使用命令行和java从JUnit类运行单个测试.

我可以使用以下方法从类中运行整个测试集:

java -cp .... org.junit.runner.JUnitCore org.package.classname
Run Code Online (Sandbox Code Playgroud)

我真正想做的是这样的事情:

java -cp .... org.junit.runner.JUnitCore org.package.classname.method
Run Code Online (Sandbox Code Playgroud)

要么:

java -cp .... org.junit.runner.JUnitCore org.package.classname#method
Run Code Online (Sandbox Code Playgroud)

我注意到有可能使用JUnit注释来实现这一点,但我宁愿不手动修改测试类的源代码(尝试自动化).我也看到Maven可能有办法做到这一点,但如果可能的话我想避免依赖Maven.

所以我想知道是否有办法做到这一点?


我正在寻找的要点:

  • 能够从JUnit测试类运行单个测试
  • 命令行(使用JUnit)
  • 避免修改测试源
  • 避免使用其他工具

java junit command-line unit-testing

91
推荐指数
2
解决办法
8万
查看次数

在Eclipse中运行单个JUnit测试

如果我有一个包含多个测试的测试套件,当我尝试从代码编辑器的上下文菜单或JUnit视图运行单个单元测试时,它似乎坚持始终运行整个套件,而不是单一测试.有没有办法禁用更改此行为,以便我可以要求运行它,只有那个,测试.

eclipse junit

83
推荐指数
6
解决办法
8万
查看次数

如何在JUnit 4中运行属于某个类别的所有测试

JUnit 4.8包含一个名为"Categories"的新功能,允许您将某些类型的测试组合在一起.这非常有用,例如,为慢速和快速测试分别进行测试.我知道JUnit 4.8发行说明中提到的内容,但是想知道我如何实际运行所有使用某些类别注释的测试.

JUnit 4.8发行说明显示了一个示例套件定义,其中SuiteClasses注释选择要运行的特定类别的测试,如下所示:

@RunWith(Categories.class)
@IncludeCategory(SlowTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
  // Will run A.b and B.c, but not A.a
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何在SlowTests类别中运行所有测试?您似乎必须拥有SuiteClasses注释...

java junit unit-testing junit4

71
推荐指数
3
解决办法
3万
查看次数

标签 统计

junit ×3

java ×2

unit-testing ×2

command-line ×1

eclipse ×1

junit4 ×1