问题标签 [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.
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,我不能再在我的测试类中使用注释。
有解决办法吗?
提前感谢
java - 如何在 JUnit 4 中动态添加测试到测试套件?
我最近阅读(链接文本)关于在 JUnit 4 中将测试静态添加到测试套件的方法?动态方式怎么样,即如果它的名称不早于运行时已知,如何添加一个测试类,例如它的名称是从 XML 文件中读取的?
java - JUnit 4 测试套件问题
我对使用测试套件运行的一些 JUnit 4 测试有疑问。
如果我单独运行测试,它们可以正常工作,但是当在套件中运行时,90% 的测试方法会因错误而失败。我注意到的是,第一个测试总是很好,但其余的都失败了。另一件事是,一些测试方法没有按正确的顺序执行(反射没有按预期工作,或者因为方法的检索不一定按照创建的顺序)。如果有多个测试具有相同名称的方法,通常会发生这种情况。我试图调试一些测试,似乎从一行到下一行,某些属性的值变成了null
.
有谁知道问题出在哪里,或者行为是否“正常”?
提前致谢。
PS:好的,测试不相互依赖,它们都没有,它们都有@BeforeClass
, @Before
, @After
,@AfterClass
所以在测试之间一切都被清除了。测试与数据库一起工作,但在每次测试之前数据库都会被清除,@BeforeClass
所以这应该不是问题。
简单的例子:
测试套件:
测试:测试是在 Glassfish 上运行的服务器应用程序上进行功能测试。
现在测试扩展了一个基类,该基类具有@BeforeClass - 清除数据库和登录名的方法以及仅进行注销的@AfterClass。这不是问题的根源,因为在引入此类之前发生了同样的事情。
该类具有一些在其他测试中未使用的公共静态属性,并实现了 2 个控制方法。
其余的类,在本例中,这两个类扩展了基类,并且不覆盖继承的控制方法。
测试类示例:
第二个:
这是一个基本示例,实际测试更复杂,但我尝试了简化测试,但仍然无法正常工作。谢谢你。
java - 在方法级别(不是类级别)指定 junit 4 测试的顺序
我知道这是不好的做法,但需要这样做,否则我需要切换到testng
. 有没有一种类似于 JUnit 3 的 testSuite 的方法来指定要在一个类中运行的测试的顺序?
eclipse - jUnit 4 DirectorySuiteBuilder 等效
我想知道是否有类似于 jUnit 4 的 junit-addons DirectorySuiteBuilder (文档)。简单地说,我想将每个文件名 *Test.java 加载到一个目录中并用它们构建一个套件。
我意识到我可以使用 ant 构建一个在目录中运行每个测试的套件,但我不想走那条路,以便我可以使用 eclipse 的本机 jUnit 插件运行测试。
intellij-idea - 在 intellij 中运行特定命名的 junit 4.8 测试
我正在使用 junit 4.8 和 intellij 8,我只想在 IDE 中运行名为 *UnitTest.java 的测试。
如何做到这一点?
java - Java/ JUnit - AssertTrue 与 AssertFalse
我对 Java 很陌生,并且正在关注Eclipse Total Beginner's Tutorials。它们都非常有帮助,但在第 12 课中,他assertTrue
用于一个测试用例和assertFalse
另一个测试用例。这是代码:
我已经搜索了有关这些方法的良好文档,但没有找到任何东西。如果我的理解是正确的,assertTrue
以及assertFalse
当第二个参数评估为假时显示字符串。如果是这样,同时拥有它们有什么意义?
编辑:我想我明白了什么让我感到困惑。作者可能将它们都放入只是为了展示它们的功能(毕竟这是一个教程)。他设置了一个会失败的设备,以便打印出消息并告诉我为什么会失败。开始变得更有意义......我认为这就是解释,但我不确定。
java - 如何在 JUnit 4 中动态创建测试套件?
我想使用 JUnit 4 创建一个 junit 测试套件,其中要包含的测试类的名称在测试套件运行之前是未知的。
在 JUnit 3 中,我可以这样做:
并让该gatherTestClasses()
方法处理确定要运行的测试类。
在 JUnit 4 中,文档说要使用注释:@SuiteClasses({TestClass1.class, TestClass2.class...})
构建我的测试套件。有许多 SO 答案显示了如何做到这一点。不幸的是,我看到的示例似乎不允许传递动态生成的 TestClasses 列表。
这个SO 答案表明我必须继承BlockJUnit4ClassRunner
我不想做的子类。
动态指定的测试套件似乎必须在 JUnit 4 的某个地方。有谁知道在哪里?
selenium - Selenium SeleniumTestCase .checkForVerificationErrors 方法:失败前的输出状态
我正在网页上测试一个表格,我需要验证表格中的所有值。为此,我写了一个for
类似这样的循环
在第五行,我正在检查他们在这一行的任何列中是否有任何错误。
问题是如果它们有任何错误,我无法输出检测到哪一行和哪一列错误,因为checkForVerificationErrors方法将立即失败,而不会让我输出任何调试信息。
java - 使用 Maven 的 JUnit3 和 Junit4 XML 报告
我试图弄清楚如何将 JUnit(3 和 4)的假定报告功能与 Maven 结合使用,但 Google 搜索在如何实际运行 JUnit(通过 Maven)方面并没有出现太多,得到一个每个测试(或所有测试)的报告以及它将采用什么格式。
所以,我的多部分问题是:
1.) JUnit (3/4) 能够输出什么样的 XML 格式?
2.) JUnit 需要什么样的调用约定/参数来输出这些报告?
3.) 报告输出在哪里?
4.) 这些报告可以在通过 Maven 运行时生成,还是我唯一的选择是使用 Maven 生成的报告?
任何链接或建议将不胜感激。