问题标签 [junit4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3680 浏览

javadoc - javadoc 找不到 org.junit.Test

当我在我的 java 源代码上运行 javadoc 时,我得到了 Junit 测试类的这个错误:

带有此类注释的junit版本4会出现问题:

@Test(expected=Exception.class)

显然,听起来 javadoc 找不到 org.junit.Test 但为什么它首先需要它?我该如何解决?

干杯大卫


更新:

junit jar 不在我的项目类路径中,但在 $ANT_HOME/lib 中。这样,我不必将它添加到我的项目 lib 文件夹中,并且 junit ant 目标可以正常工作。

听起来 ant 中的 javadoc 目标不使用 $ANT_HOME/lib 来查找 jars

0 投票
6 回答
7630 浏览

eclipse - 在 Eclipse 中,当 Assert.assertEquals 失败时如何查看输入?

我不是 Eclipse 大师,所以请原谅我的笨拙。

在 Eclipse 中,当我调用 Assert.assertEquals(obj1,obj2) 并且失败时,如何让 IDE 显示 obj1 和 obj2?

我正在使用JExample,但我想这不应该有所作为。


编辑:这是我看到的:(来源:yfrog.com


0 投票
2 回答
10619 浏览

java - 无法在 Eclipse Android 项目中运行 JUnit 4 测试用例

我是 Java 新手,正在尝试对我正在编写的类运行单元测试。Eclipse (3.5) 为我创建了单元测试类并将 Junit4 添加到我的类路径中。

我的课:

我的单元测试:

当我右键单击单元测试并选择作为 Junit Test 运行时,我得到以下信息:

有人知道我该如何解决这个问题吗?

谢谢

0 投票
6 回答
31621 浏览

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

JUnit 4.8 包含一个名为“Categories”的不错的新特性,它允许您将某些类型的测试组合在一起。这非常有用,例如,对慢速和快速测试进行单独的测试运行。我知道JUnit 4.8 发行说明中提到的内容,但想知道如何实际运行所有带有特定类别注释的测试。

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

有谁知道我如何运行 SlowTests 类别中的所有测试?看来你必须有 SuiteClasses 注释......

0 投票
4 回答
7486 浏览

maven-2 - Surefire 没有接受 Junit 4 测试

即使在我尝试了另一篇文章的所有建议之后,我也无法让 Maven Surefire 执行我的 JUnit 4 测试。

我的 POM:

我的测试:

Surefire 拿起了 testSurePass,但从未见过 surePass。我试过 mvn -X:

Surefire 2.5 自动将 junit-3.8.1 添加到其测试类路径中。虽然还添加了 junit-4.4.0(不是为了确保测试类路径,而是测试类路径),但 junit-3.8.1 似乎优先。根据http://maven.apache.org/surefire/surefire-providers/dependencies.html,Maven的 surefire-api 项目依赖于 junit-3.8.1 。

我在这里缺少一些配置吗?

0 投票
1 回答
3238 浏览

java - 创建具有多个参数化测试实例的 JUnit 测试套件

我想从多个文本文件创建一个 TestSuite。每个文本文件应该是一个测试并包含该测试的参数。我创建了一个像这样的测试:

现在我想创建一个可以多次运行此测试的套件。但是因为 Parameterized、BeforeClass 和 AfterClass 都只运行一次,这似乎有点不可能。

所以,总结一下:

  1. 我想多次运行测试。
  2. 每次我需要一个输入参数(如文本文件的名称)
  3. 每次应调用 BeforeClass、AfterClass 和 Parameters 函数
  4. 我宁愿不为每个文本文件创建一个子类。

这可能吗?

0 投票
7 回答
41092 浏览

java - 在 Junit 4 中运行所有测试

我希望能够以编程方式运行项目中的所有测试。我知道 Eclipse 有一个“作为 JUnit 测试运行”配置,它以某种方式获取项目中的所有测试并运行它们。有什么方法可以让我以编程方式获取测试列表并运行它们?或者有什么好方法可以构建一个包含所有测试用例的测试套件,而无需手动列出每个测试用例(全部 700 多个)?

我在 Eclipse 中尝试了“New... -> Test Suite”选项,但这似乎只适用于 JUnit 3,通过从 TestCase 扩展来识别测试

测试类是 JUnit 4,所以它们唯一的区别特征是注释,没有命名约定,没有从 TestCase 继承。

提前致谢!

0 投票
3 回答
908 浏览

java - How can I split abstract testcases in JUnit?

I have an abstract testcase "AbstractATest" for an interface "A". It has several test methods (@Test) and one abstract method:

which provides the unit under testing. No i have multiple implementations of "A", e.g. "DefaultA", "ConcurrentA", etc.

My problem: The testcase is huge (~1500 loc) and it's growing. So i wanted to split it into multiple testcases. How can organize/structure this in Junit 4 without the need to have a concrete testcase for every implementation and abstract testcase.

I want e.g. "AInitializeTest", "AExectueTest" and "AStopTest". Each being abstract and containing multiple tests. But for my concrete "ConcurrentA", i only want to have one concrete testcase "ConcurrentATest".

I hope my "problem" is clear.

EDIT
Looks like my description was not that clear.
Is it possible to pass a reference to a test?
I know parameterized tests, but these require static methods, which is not applicable to my setup. Subclasses of an abstract testcase decide about the parameter.

0 投票
2 回答
711 浏览

java - 如何使用不同的数据多次运行相同的 testCase 来获得测试运行计数

嗨,我想用不同的数据多次运行相同的测试用例

例如,如果我用不同的数据运行相同的测试用例 3 次,它应该显示

测试运行:3,失败:0

当我尝试让测试运行时:1 失败:0 只有任何建议?

导入 org.junit.Test;导入 org.junit.experimental.theories.*;导入 org.junit.runner.RunWith;@RunWith(Theories.class) 公共类 PrimeTest {

}

这里测试用例 isPrime 运行 4 次意味着检查 4 个测试场景,但最终结果是测试运行:1/1 失败:0 我需要的是应该显示为测试运行:4/4 失败:0

0 投票
3 回答
3835 浏览

java - Junit 4 测试套件和单独的测试类

我有一个带有 BeforeClass 和 AfterClass 方法的 JUnit 4 测试套件,可以为以下测试类进行设置/拆卸。我需要的是也由他们自己运行测试类,但为此我需要为每个测试类设置/拆卸场景(BeforeClass 和 AfterClass 或类似的东西)。问题是,当我运行套件时,我不想在每个测试类之前和之后执行设置/拆卸,我只想从测试套件执行设置/拆卸(一次)。是否可以 ?提前致谢。