问题标签 [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 回答
508 浏览

java - 带有junit 4的jsfunit

我们想用 jsfunit 测试我们的 web 应用程序(jsf 1.2,richfaces 3.3.3)。我们使用 junit 4.8.1 库进行单元测试。但是 jsfunit (1.2.0.Final) 需要不存在的类 junit.runner.TestSuiteLoader。如果我降级到 junit 3.8,我不能再在我的测试类中使用注释。

有解决办法吗?

提前感谢

0 投票
2 回答
2134 浏览

java - 如何在 JUnit 4 中动态添加测试到测试套件?

我最近阅读(链接文本)关于在 JUnit 4 中将测试静态添加到测试套件的方法?动态方式怎么样,即如果它的名称不早于运行时已知,如何添加一个测试类,例如它的名称是从 XML 文件中读取的?

0 投票
3 回答
4721 浏览

java - JUnit 4 测试套件问题

我对使用测试套件运行的一些 JUnit 4 测试有疑问。

如果我单独运行测试,它们可以正常工作,但是当在套件中运行时,90% 的测试方法会因错误而失败。我注意到的是,第一个测试总是很好,但其余的都失败了。另一件事是,一些测试方法没有按正确的顺序执行(反射没有按预期工作,或者因为方法的检索不一定按照创建的顺序)。如果有多个测试具有相同名称的方法,通常会发生这种情况。我试图调试一些测试,似乎从一行到下一行,某些属性的值变成了null.

有谁知道问题出在哪里,或者行为是否“正常”?

提前致谢。

PS:好的,测试不相互依赖,它们都没有,它们都有@BeforeClass, @Before, @After@AfterClass所以在测试之间一切都被清除了。测试与数据库一起工作,但在每次测试之前数据库都会被清除,@BeforeClass所以这应该不是问题。

简单的例子:

测试套件:

测试:测试是在 Glassfish 上运行的服务器应用程序上进行功能测试。

现在测试扩展了一个基类,该基类具有@BeforeClass - 清除数据库和登录名的方法以及仅进行注销的@AfterClass。这不是问题的根源,因为在引入此类之前发生了同样的事情。

该类具有一些在其他测试中未使用的公共静态属性,并实现了 2 个控制方法。

其余的类,在本例中,这两个类扩展了基类,并且不覆盖继承的控制方法。

测试类示例:

第二个:

这是一个基本示例,实际测试更复杂,但我尝试了简化测试,但仍然无法正常工作。谢谢你。

0 投票
6 回答
25140 浏览

java - 在方法级别(不是类级别)指定 junit 4 测试的顺序

我知道这是不好的做法,但需要这样做,否则我需要切换到testng. 有没有一种类似于 JUnit 3 的 testSuite 的方法来指定要在一个类中运行的测试的顺序?

0 投票
1 回答
473 浏览

eclipse - jUnit 4 DirectorySuiteBuilder 等效

我想知道是否有类似于 jUnit 4 的 junit-addons DirectorySuiteBuilder (文档)。简单地说,我想将每个文件名 *Test.java 加载到一个目录中并用它们构建一个套件。

我意识到我可以使用 ant 构建一个在目录中运行每个测试的套件,但我不想走那条路,以便我可以使用 eclipse 的本机 jUnit 插件运行测试。

0 投票
1 回答
334 浏览

intellij-idea - 在 intellij 中运行特定命名的 junit 4.8 测试

我正在使用 junit 4.8 和 intellij 8,我只想在 IDE 中运行名为 *UnitTest.java 的测试。

如何做到这一点?

0 投票
7 回答
360374 浏览

java - Java/ JUnit - AssertTrue 与 AssertFalse

我对 Java 很陌生,并且正在关注Eclipse Total Beginner's Tutorials。它们都非常有帮助,但在第 12 课中,他assertTrue用于一个测试用例和assertFalse另一个测试用例。这是代码:

我已经搜索了有关这些方法的良好文档,但没有找到任何东西。如果我的理解是正确的,assertTrue以及assertFalse当第二个参数评估为假时显示字符串。如果是这样,同时拥有它们有什么意义?

编辑:我想我明白了什么让我感到困惑。作者可能将它们都放入只是为了展示它们的功能(毕竟这是一个教程)。他设置了一个会失败的设备,以便打印出消息并告诉我为什么会失败。开始变得更有意义......我认为这就是解释,但我不确定。

0 投票
6 回答
55402 浏览

java - 如何在 JUnit 4 中动态创建测试套件?

我想使用 JUnit 4 创建一个 junit 测试套件,其中要包含的测试类的名称在测试套件运行之前是未知的。

在 JUnit 3 中,我可以这样做:

并让该gatherTestClasses()方法处理确定要运行的测试类。

在 JUnit 4 中,文档说要使用注释:@SuiteClasses({TestClass1.class, TestClass2.class...})构建我的测试套件。有许多 SO 答案显示了如何做到这一点。不幸的是,我看到的示例似乎不允许传递动态生成的 TestClasses 列表。

这个SO 答案表明我必须继承BlockJUnit4ClassRunner我不想做的子类。

动态指定的测试套件似乎必须在 JUnit 4 的某个地方。有谁知道在哪里?

0 投票
1 回答
534 浏览

selenium - Selenium SeleniumTestCase .checkForVerificationErrors 方法:失败前的输出状态

我正在网页上测试一个表格,我需要验证表格中的所有值。为此,我写了一个for类似这样的循环

在第五行,我正在检查他们在这一行的任何列中是否有任何错误。

问题是如果它们有任何错误,我无法输出检测到哪一行和哪一列错误,因为checkForVerificationErrors方法将立即失败,而不会让我输出任何调试信息。

0 投票
2 回答
18116 浏览

java - 使用 Maven 的 JUnit3 和 Junit4 XML 报告

我试图弄清楚如何将 JUnit(3 和 4)的假定报告功能与 Maven 结合使用,但 Google 搜索在如何实际运行 JUnit(通过 Maven)方面并没有出现太多,得到一个每个测试(或所有测试)的报告以及它将采用什么格式。

所以,我的多部分问题是:

1.) JUnit (3/4) 能够输出什么样的 XML 格式?

2.) JUnit 需要什么样的调用约定/参数来输出这些报告?

3.) 报告输出在哪里?

4.) 这些报告可以在通过 Maven 运行时生成,还是我唯一的选择是使用 Maven 生成的报告?

任何链接或建议将不胜感激。