问题标签 [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.
junit - 将 JUnit 报告发布到 Slack
有什么方法可以将 JUnit 结果发布**/TEST-*.xml
到 Slack。我已经尝试了所有可能的方法,但无法解决问题。
junit5 - 集合/可迭代/流可以传递到@ParamterizedTests 吗?
在 Junit5 5.0.0 M4 我可以这样做:
或者任何数量的其他东西最终以一种或另一种类型的集合被传递到我的@ParameterizedTest
. 这不再有效:我现在得到错误
我一直在查看最近对 SNAPSHOT 的提交,我在该区域有一些变化,但我看不出有什么可以肯定地改变这一点。
这是刻意改变吗?我会在 JUnit5 开发者频道上问这个问题,但我找不到。它本身并不是一个错误:传递集合不是一个记录的特性。
如果这是一个故意的改变,那么这是一个明确的用例@TestFactory
......
java - 如何在 IntelliJ IDEA 中为 JUnit 指定应使用哪个 @Tag
有没有办法从 IntelliJ 的 JUnit5 Runner 的构建中指定只应测试具有特定 @Tag 的测试方法(或相反,应执行除具有特定 @Tag 的测试之外的所有测试)?
我知道如何用 maven 来做,但是只用 IntelliJ UI 就可以吗?
最好的问候,迪特
java - 启动嵌入式 Zookeeper 时如何避免“RuntimeException: My id 0 not in peer list”?
我正在尝试 在BeforeAll方法中使用QuorumPeerMain.runFromConfig启动一个 zookeeper 节点,以便我可以在测试中使用它(它嵌入在同一个 JVM 中)。我收到 Invalid configuration, only one server specified (ignoring) 后跟 java.lang.RuntimeException: My id 0 not in the peer list。
我的配置是:
最后一行应该引用节点本身,在“无效配置”错误消息之后被丢弃,然后 Zookeeper 抛出异常,因为它的 id 不在列表中。如果 zookeeper 没有丢弃它,它的 id 0 就会在列表中。如何避免此 RuntimeException?
或者,有没有更好的方法从 BeforeAll 运行 zookeeper?
maven - 无法在早于 2016.2 的 IntelliJ 上调试 Junit5 测试
Q1。是否有任何插件可以帮助在 intelliJ IDEA 2015.x 上基于 Junit5 调试测试?
我浏览了互联网上的文章,包括为 JUnit5 运行测试和在 intelliJ IDEA中使用Junit5,这些文章同意读出 -
IntelliJ IDEA 自 2016.2 版起支持在 JUnit 平台上运行测试。
现在的情景——
- 使用 JUnit5 在 Maven 上构建的项目
- 我们的团队有人员在研究不同版本的 IntelliJ。
- 使用旧版本 intelliJ 的人能够执行测试(
mvn test
),但不能使用 intelliJ 进行调试。
Q2。这是否意味着升级到 2016.2+ 以便为使用 Junit5 的项目做出贡献?
java - 在 JUnit 5 中使用 MockitoExtension
在JUnit 5 用户指南中,我们可以找到MockitoExtension的链接,作为TestInstancePostProcessor
, ParameterResolver
(扩展 API的一部分)的使用示例。
我怀疑 JUnit 5 中 Mockito 的实际用法(与这个其他问题有关)。
- 到目前为止,这是
MockitoExtension
在 Jupiter 测试中注入模拟的推荐方法吗? - 如果是这样,我应该在我的项目中包含该类的副本然后使用它吗?(不是我猜的最好方法)
- 是否有计划支持 JUnit 5 的官方 Mockito 扩展?
太感谢了!
gradle - 如何将 JUnit 5 与 Gradle 一起使用?
在成功运行 JUnit 4 测试后,我正在尝试将 JUnit 5 与 Gradle 一起使用。
预期结果: JUnit 4 测试在输出中给出了很好的“通过”,并在build/reports/tests
.
实际结果:下面的 JUnit 5 测试除了 之外没有输出任何东西(...) build succesful
,而我知道测试实际上并没有运行,因为没有测试日志输出通过/跳过/失败,并且fail
在测试中放入 a 可以保持构建成功。
在很多我认为主要是不相关的输出中运行gradle test --info
收益率。Skipping task ':testClasses' as it has no actions.
令人惊讶的是,它还对 xml 中的 xml 表示Executing task ':test'
和Generating HTML test report... Finished generating test html results
类似build/test-results/test
,虽然没有生成 xml,但 html 显示没有运行测试也没有错误,并且测试确实没有运行。
我也认为非常有趣的是,gradle test --debug
产量
而我唯一的测试包含
我认为这很奇怪!
我的构建文件是
我的测试是
我的文件夹结构是,使用 package mypackage
,
在我使用的 IntelliJ 2017.1.3 中,模块结构如下所示
因为 Gradle 现在想要源代码和测试在他们自己的包中。
我试过的
显然这不是关于这个话题的第一个问题,我发现的所有相关问题都是
在 IntelliJ 中运行 jUnit 5 测试的 Gradle 项目
但是正如您所看到的,这是针对旧版本的 IntelliJ 的,根据其中一个答案,我已经在使用 IJ 2016.3.3 及更高版本的语法,在一个 JUnit 依赖行中,所以应该没问题。
使用 gradle 在 intellij 中从 JUnit 4 升级到 JUnit 5
链接回上述问题,并链接到这个Jetbrains 博客,它使用与上述问题相同的行。还链接到:
将 JUnit 5 测试结果与 Intellij 测试报告集成 在问题中,这也显示为依赖项
当我在 IntelliJ 中运行 TestCase 时,为什么将 JUnit Jupiter 和 JUnit Vintage 分开? 好吧,当我运行它时,输出显示它找不到这个版本,但根据Maven 存储库,这个版本适用于 JUnit 5:
那里的答案指出,您可以只在 IntelliJ 中运行测试,因为更高版本支持 JUnit 5。我知道,当我在 IntelliJ 中运行时,测试运行良好。但我想使用 Gradle(和需要依赖管理的 Travis)。
如何在 junit 5 gradle 测试报告中捕获 stdout/stderr?
我尝试使用
但结果没有改变。
我的模板项目位于https://github.com/PHPirates/java-template-project但这个问题应该包含所有必要的信息。
java - 具有不同数组参数的构造函数java
我正在尝试使用数组参数创建不同的构造函数。数组有不同的维度。但实际上二维构造函数随时调用。
也许问题是由数组组成的,因为数组是由数组组成的。但是我该如何解决呢?
UPD:我试图在 Junit 测试中调用构造函数:
JUnit 测试的输出:
java - JUnit 5 - JDBC 语句测试
我已经开始学习单元测试了。我正在使用 JUnit 5,我想测试将一些数据插入数据库的方法(使用 JDBC)。这是我的代码:
数据源.java
数据源测试.java
它工作正常,但它实际上在我的数据库中插入了一条记录,但我想要做的是模拟它。是否可以仅使用 JUnit 来实现?如果没有,我需要什么?一个简单的实现将不胜感激。
编辑
我发现了一个名为Mockito的工具,这是我需要的吗?如果是这样,谁能告诉我如何部署我的方法 insertTable() 的简单测试?
java - 如何使用控制台启动器从命令行运行 JUnit5 测试?
我编译了测试,并尝试执行以下操作:
这会引发一个巨大的异常,如下所示:
但基本上说它找不到 JUnitException 类。相反,如果我让控制台启动器查找测试,它将找不到测试:
我不知道如何在没有 IDE 的情况下从命令行运行 JUnit5 测试。
更新:
使用 Maven 运行测试(使用 Surefire 插件)给了我同样的错误。我什至删除了所有测试,但仅导入 junit5 依赖项的测试,我仍然得到错误。