Gradle 6 Junit 5 测试错误
在使用 Gradle 进行 build 的时候运行测试,提示 build 不能完成,测试不能进行。
错误信息:
Caused by: org.junit.platform.commons.PreconditionViolationException: Cannot create Launcher without at least one TestEngine; consider adding an engine implementation JAR to the classpath
org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not complete execution for Gradle Test Executor 19.
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:63) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at com.sun.proxy.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164) at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.junit.platform.commons.PreconditionViolationException: Cannot create Launcher without at least one TestEngine; consider adding an engine implementation JAR to the classpath
at org.junit.platform.commons.util.Preconditions.condition(Preconditions.java:296) at org.junit.platform.launcher.core.DefaultLauncher.<init>(DefaultLauncher.java:58) at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:91) at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:67) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:97) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) ... 25 more
Wrap lines
这里有关 Junit 5 进行 Gradle 配置的时候需要配置测试引擎。
请参考下面的链接中的说明:
https://docs.gradle.org/current/userguide/java_testing.html#using_junit5
首先你需要在你的依赖中添加下面的内容:
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.1'
同时,如果你使用的是 Junit 5 的话,你还需要指定测试:
test {
useJUnitPlatform()
}
如果你这里不指定这个 test 测试的话,你项目的测试是不会运行的。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一个数据科学家需要哪些核心工具包?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 数据科学家的主要作用是将机器学习、统计方法和探索性分析应用到数据中,来提取见解并帮助制定决策。 编程和计算工具的使用对该角色来说必不可少。 实际上,许多人都用这句名言描述该领域:数据科学家比任何软件工程师都更擅长统计科学,也比任何统计学家都更擅长软件工程。 如果你正踏上学习数据科学的旅程,或想要提高现有的技能,那么很有必要了解你所需的工具,以便有效的执行这个角色。 在过去的十年中,用于数据科学的Python逐渐流行起来,目前是该领域从业人员最流行的编程语言。在下面的文章中,作者将概述数据科学家使用的核心工具,这些工具主要侧重于基于Python的工具。 1、NumPy NumPy是一个功能强大的库,用于使用Python执行数学和科学计算。 你会发现,许多其他数据科学库都将它作为运行的依赖项,因为它是基础科学软件包之一。 该工具以N维数组对象的形式与数据交互。 它提供了用于处理数组、执行数组运算、基本统计信息和常见的线性代数计算(例如叉和点积运算)的工具。 2、Pandas Pandas库简...
- 下一篇
单张图像就可以训练GAN!Adobe改良图像生成方法 | 已开源
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 数据集太小了,无法训练GAN?试试从单个图像入手吧。 最近,来自Adobe和汉堡大学的研究人员,对这个方法做了改进,探讨了几种让GAN在单幅图像提高训练和生成能力的机制。 研究人员将改进的模型称作ConSinGAN。 那么,先来看下ConSinGAN的效果吧。 上图左侧是用来训练的单个图像,右侧是利用ConSinGAN训练后生成的复杂全局结构。 可以看出效果还是比较逼真。 当然,ConSinGAN还可以用来处理许多其他任务,例如图像超分辨率( image super-resolution)、图像动画(image animation),以及图像去雾(image dehazing)。 下面两张就是它在图像协调(image harmonization)和图像编辑(image editing)上的效果。 ConSinGAN是怎么做到的呢? 训练架构优化:并行的SinGAN 首先,我们先来看下SinGAN的训练过程。 SinGAN在图像中训练几个单独的生成网络,下图便是第一个生成器,也是唯一从随机...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16