问题标签 [junit5]

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 投票
1 回答
1101 浏览

java - JUnit 测试结果在测试失败时显示 0,但在测试正常时显示 1

我从 JUnit 测试开始。

我正在尝试编写简单的测试并遇到问题。

当测试正常时,结果显示:测试运行:1,失败:0,错误:0,跳过:0,经过时间:0.008 s

当我将一个 1 更改为 0 时,它应该会失败:测试运行:0,失败:0,错误:0,跳过:0,经过的时间:0.008 秒它也不会抛出应该抛出的错误消息。

我做错了什么还是不应该这样?尝试谷歌,但找不到类似的问题。

我正在使用 JUnit5。从 IntelliJ Idea -> Maven 项目 -> 生命周期 -> 测试运行测试

更新:

我试图从 IntelliJ 运行它 - 显示的所有消息等。奇怪的是它在 Maven 测试中无法正常工作。

更新 2: 可能与 pom.xml 配置有关?

0 投票
2 回答
15705 浏览

maven - JUnit4 和 JUnit5 测试未在 IntelliJ 中运行

我正在尝试在 IntelliJ IDEA 2017.1.5 的同一个项目中使用 JUnit4 和 JUnit5 测试。到目前为止,所有的测试都是基于 JUnit4。我将jupiter,platformvintage依赖项添加到我的 pom.xml 中(包括用于 surefire 插件的junit-platform-surefire-providerand )。现在,我的 JUnit4 示例测试和 JUnit 5 测试都没有执行。junit-vintage-engine

相反,我收到以下错误:

我试图尽可能地遵循JUnit 5 用户指南中的建议,但我可能错过了一些东西。如何让两个测试正常运行?(当然还有我所有现有的测试)

JUnit 4 测试类

JUnit 5 测试类

pom.xml(相关部分)

0 投票
1 回答
1244 浏览

gradle - 使用 Allure2+Junit5+Gradle+Selenide 时,Allure 报告为空

我的 build.gradle 是:

测试成功完成并自动创建三个文件夹:

{projectDir}\allure-results 与 .json 文件

{projectDir}\build\test-results\junit-platform 与 TEST-junit-jupiter.xml 文件

{projectDir}\build\reports\allure-report

我尝试通过 allure 命令行 (CLI) 在本地打开 .json 和 .xml 结果。魅力报告已打开但为空白: 这是报告视图

我想我在 gradle 依赖中的错误。我很困惑应该为 JUnit5+Allure2+Gradle+Selenide+Java8 使用哪些库和版本?

0 投票
2 回答
4990 浏览

java - 为什么 JUnit 5 测试不从抽象类继承 @Test 注释?

我刚刚意识到(在将遗留代码从 JUnit 4 迁移到 JUnit 5 时)我们的一些测试方法没有被执行,因为它们没有@Test注释。他们没有它,因为它们覆盖了抽象超类(存在注释的地方)的方法。

@Test我可以通过在每种方法中添加 来轻松解决此问题。但我想知道这是否是预期的行为。它从 JUnit 4 更改为 5,但我在官方 JUnit5 用户指南或其他任何地方都找不到任何关于它的信息。

根据这个问题,注释通常不会被继承。但似乎这是在新的 JUnit 版本中故意改变的。(或者我错过了什么?)

抽象测试类

具体测试类

0 投票
4 回答
2863 浏览

time - 在 Junit5 中记录每个测试用例的执行时间的注释

我需要记录每个测试用例的执行时间。我不想使用自定义实现。我想知道 junit5 Btw 中是否有可用的注释

,我知道Stopwatch或 Junit4 @Timeout

0 投票
1 回答
86 浏览

java - 我的 api 的 junit 测试用例

我是编写junit的新手。我有我的下面的java api,它每次都从数据库中获取一个唯一的值。它只包含一个查询。我需要为下面的api编写junit。任何人都可以给出一些建议我应该如何处理?

0 投票
4 回答
3004 浏览

java - Gradle 下的 JUnit 5 具有多个源集

我有一个我想使用 JUnit 5 的项目。我已经为单元测试做好了这个工作。

但是,我确实有多个测试源集 - 我还有一个用于验收测试。我正在努力研究如何让 JUnit 5 运行单元测试 - 在 src/test 中定义 - 在一个任务中和验收测试 - 在“acceptanceTest”源集中定义并位于“src/acceptance”中 - 在另一个任务中任务。

我以前使用过 JUnit 4 和 Cucumber,但 JUnit 5 插件似乎不想这样工作。

构建.gradle:

0 投票
1 回答
630 浏览

java - getBeansOfType(类类型)

我正在尝试为我的一个 API 编写 Junit,在该 API 中我使用了 Map,如下所示:

在哪里

我需要嘲笑ctx.getBeansOfType(clazz)并得到Map<Spring, T>我无法做到的回报。

0 投票
1 回答
1615 浏览

java - 如何在 Gradle 的 JUnit Platform 中进行两组测试

我正在通过 Gradle 使用 JUnit 5 平台。

我当前的构建文件有配置子句

这很好用。但我还需要运行集成测试,这需要构建、docker 化并在后台运行应用程序。所以我应该有这样的第二个配置,然后才会启动......如何实现这个?通常我会扩展创建 IntegrationTest 任务的测试任务,但它不适合没有简单任务运行测试的 JUnit 平台......

我知道我可以这样做

但有更简单的方法吗?更一致。

0 投票
2 回答
6877 浏览

java - Spring Boot 测试中的 Maven 失败(junit 5)

是否可以使用 maven 使用 junit 5 运行 spring boot 测试?我正在使用 spring boot 2.0.0.M3、junit 5.0.0-M6、maven 3.5.0。其他 junit5 测试(没有弹簧上下文)有效。

有一个简单的控制器:

并测试:

当我使用intellij运行它时一切正常,但maven构建以失败告终:

[警告] 分叉 JVM 1 中的标准输入流损坏。请参阅转储文件 somePath/target/surefire-reports/2017-07-28T13-50-15_071-jvmRun1.dumpstream

--debug 标志显示:

java.lang.OutOfMemoryError:Java 堆空间

在里面2017-07-28T13-50-15_071-jvmRun1.dumpstream我可以找到大约 100 个相同的异常(每个 spring 日志一个):

分叉 JVM 1 中的标准输入流损坏。流“13:50:15.914 [main] DEBUG org.springframework.test.context.BootstrapUtils - 从类 [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 实例化 CacheAwareContextLoaderDelegate”。java.lang.IllegalArgumentException:流标准输入已损坏。命令“13:50:15.914 [main] DEBUG org.springframework.test.context.BootstrapUtils - 从类 [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 实例化 CacheAwareContextLoaderDelegate”中的第三个字符后的预期逗号。在 org.apache.maven.plugin.surefire.booterclient.output.ForkClient$OperationalData.(ForkClient.java:469) 在 org.apache.maven.plugin。

Maven 万能插件: