跑正常的单元测试没有问题,但是一旦运行Run with Coverage就报错
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.coverage.main.CoveragePremain.premain(CoveragePremain.java:66)
... 6 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at com.intellij.rt.coverage.instrumentation.Instrumentator.premain(Instrumentator.java:64)
... 11 more
FATAL ERROR in native method: processing of -javaagent failed
想必到这里你已经很头疼了 因为我也经历过,不卖关子了 直接看解决方案
Help -> Edit Customer VM Option
在最下面加上
-Djava.io.tmpdir=E:/Temp
重新启动就可以了
可能有很多同学已经试过了在IDEA的安装位置的idea64.exe.vmoptions或者idea.exe.vmoptions 这个文件中修改了,但是没有生效,我也试过了确实没有生效
所以你们按照我这里试下,感谢大家
问题原因:
这里的问题是IntelliJ试图在不使用IDE中配置的Maven“用户设置文件”(settings.xml)的情况下解决所需的工件本身。它将直接连接到Maven Central,但被我的雇主屏蔽了
解决方案在pom文件添加:
<dependency>
<!-- this is needed or IntelliJ gives
junit
.jar or
junit
-platform-launcher:1.3.2 not found errors -->
用
idea
跑代码覆盖测试时出现问题,一直
显示
测试框架出错,如下图所示:
自己在网上找了一天的资料,看别人是怎么做的,还卸载了2021的版本,换上了2020年和2019年的,结果发现又会出现新的问题,说什么反射出了问题:FATAL ERROR in native method: processing of -javaagent failed,但是还是不知道怎么改,最后找了半天,总算是尝试
成功
了,方法如下:
在箭头所指的文件中最后一行添加:-Djava.io.tmpdir=D:\Temp,等号后面的
之前用
idea
写
junit
查看代码覆盖率的时候遇到的问题.
java.lang.reflect.InvocationTargetException…FATAL ERROR in native method: processing of -javaagent failed
看完之后一脸蒙蔽。。。。好在问题解决了,记录一下解决方法。遇到问题详细stack如下java.lang.reflect.
Junit
5测试
众所周知,
单元测试
对于整个开发流程而言是十分重要的,不过也是大家最容易忽略的。多数情况下我们是调用Web接口,在页面上点一点项目跑一跑如果没啥问题就万事大吉了。在项目的test文件夹下空空如也,这里就埋下了坑,因为
单元测试
是对一个接口的完整测试,接口的请求数据啊,格式啊,可能出现的异常啊。写好
单元测试
也是对整个项目完整的一个逻辑梳理。下面就简单用
Junit
5进行总结。
正常情况下,测试类所在包结构与被测试的类所在包结构相同,直接点击
run
tests with
coverage
就可以运行测试查看覆盖率。若包结构不同,但是你有没有权限修改该项目的包结构,那么可以通过配置来查看单测覆盖率。
步骤如下:
2.在上面一栏中,点击右侧+号,就可以添加要查看覆盖的包或者某一个类,然后点击OK退出。
3.至此,再次点击
run
test with
Coverage
就可...
最近在执行
单元测试
的时候,发现一个奇怪的问题:本地
Junit
的单测单独执行,程序正常;但是在集成了JaCoCo覆盖率插件后,执行maven test命令一直会报ArrayIndexOutOfBounds数组越界异常,查了好久,才找到最终原因。
单测代码如下:
@Test
public void getSingleProductProperty(){
Stri...
根据提供的引用内容,无法确定具体的问题和
报错
信息。但是,根据引用内容可以推断出这是数学课程的练习题,可能涉及到二次函数的图象和性质。同时,
报错
信息中提到了
junit
starter,这可能是一个Java
单元测试
框架。因此,建议您检查以下几个方面:
1. 检查您的代码是否正确,特别是涉及到二次函数图象和性质的部分。
2. 检查您是否正确地安装了
junit
starter,并且是否正确地配置了测试环境。
3. 检查您的测试用例是否正确,是否覆盖了所有的代码分支。
4. 检查您的代码是否存在语法错误或逻辑错误。
如果您能提供更具体的问题和
报错
信息,我可以更好地帮助您解决问题。