问题标签 [junit-jupiter]

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 回答
111 浏览

spring-boot - 读取数据时违反约束

我正在使用 junit-jupiter 编写集成测试,并且发生了一些非常奇怪的事情 - >当我阅读时发生约束冲突异常(不保存数据)

storesTemplateRepository.findByCountryOrderByTemplateName(country, pageable);引发以下异常:

实体:

测试

0 投票
1 回答
137 浏览

java - 测试扩展抽象类和接口的 Spring Service 类

我想模拟我的服务类并调用它从抽象类和接口继承的任何方法,就像它们属于服务一样。不幸的是,当我模拟服务并从抽象类调用方法时,mockito 会调用抽象类中的真实方法。是否有可能以某种方式完全模拟服务类?

界面:

抽象类:

混凝土弹簧服务

测试班

更新测试用例: 我有一个注入 ClientProducer 并调用其方法的默认服务。

所以它基本上调用 auditService.auditJson(...) 但它不应该

0 投票
1 回答
95 浏览

junit - Maven 运行不包括 Junit 测试

我正在尝试通过运行 maven (pom.xml) 文件来运行测试。

我得到的只是测试没有运行:

在此处输入图像描述

pom 包括以下内容:

由于某种原因,它不会接受测试:

在此处输入图像描述

我找不到 pom.xml 有任何问题。有什么建议吗?

github上的项目:https ://github.com/subhisamara/Junit-maven-selenium

0 投票
1 回答
99 浏览

python - 无法将 VS Code / Jupiter Notebook 连接到 Python 内核

我最近开始使用 Python 进行编码,因此想使用 Jupiter Notebook,但不幸的是,它无法连接到 Python-Kernel。我从官方网站和 anaconda 下载了 Python:

https://www.python.org/downloads/windows/

https://docs.conda.io/en/latest/miniconda.html

我也尝试设置 PATH-Variable 但这也无济于事:

使用的系统和版本:

  • HP ProBook 450 G6,64 位

  • 视窗 10 专业版

  • VS 代码 1.48

  • 我试过的 Python 版本:Python 3.8.3 64-Bit (base: conda) - 当前安装的 Python 3.7.9 64-Bit Python 3.8.5 32-Bit

  • 当前 PATH 变量设置:C:\ProgramData\Miniconda3

C:\ProgramData\Miniconda3\Library\mingw-w64\bin

C:\ProgramData\Miniconda3\Library\usr\bin

C:\ProgramData\Miniconda3\Library\bin

C:\ProgramData\Miniconda3\Scripts

错误消息:ErrorMessages

有没有人遇到过同样的问题?

谢谢你的帮助!

0 投票
1 回答
595 浏览

java - 使用 Spy (junit5) 模拟 jdbcTemplate 查询异常

我使用的是 Spy 而不是 Mock,因为我想要其他方法中的常规功能。我想在调用 jdbcTemplate 查询时模拟异常。

JdbcTemplate.query 原型是public <T> List<T> query(String sql, RowMapper<T> rowMapper) throws DataAccessException,我这样称呼它:

这是我的间谍声明:

这是测试:

运行“when”会引发异常java.lang.IllegalArgumentException: RowMapper is required,而 @MockBean 可以正常工作(而不是我想要的 SpyBean)。

为什么它适用于模拟而不适用于间谍?我应该怎么做才能使它与@Spy一起工作?

PS相同的行为

0 投票
0 回答
59 浏览

java - SoapuUI.setSoapUICore 导致 Junit 线程结束

我有一个以并发模式运行的 Maven/Junit 测试项目。每个测试用例都使用 SoapUI API 调用一个 Web 服务:

经过多次调试,我发现语句

通常会导致执行调用的 Junit 线程结束,测试用例的其余部分由稍后的线程完成。发生这种情况时,原始线程的资源不会被正确释放,并且后续完成代码的线程会按顺序为每个中断的线程执行此操作,因此会失去并发执行的好处。

我无法找到任何有关此 SoapUI.setSoapUICore 方法的作用或它可能导致 Junit 线程退出的原因的文档。我猜这可能是资源锁定问题,因为 setSoapUICore 是一种静态方法。但是我尝试过同步soapUI代码,以便一次只有一个线程可以执行它并且问题仍然存在。

因此,我将调用放在类的静态初始化块中,以便它只被调用一次:

这似乎已经解决了这个问题,但我想知道这个方法正在做什么,这可能会导致 Junit 线程结束,因此,如果上述“修复”确实是一个可行的解决方案。

我正在使用以下资源:

  • Maven 3.6.1
  • Maven Surefire 3.0.0-M4
  • Junit-木星 5.7.0-M1
  • Java 13.0.1
  • SoapUI 5.5.0
0 投票
2 回答
447 浏览

java - 如何通过执行 JAR 创建 XML 报告

我想开发一个独立的测试解决方案,jar它可以在 CI/CD 环境中使用,而无需一直重新编译。因此,我从一个包含几个库、一个 Spring Boot 应用程序和一个名为test-runner.

从 GitLab CI/CD 中执行 fat-jar 是可行的,但我认为这只是它的前半部分。我想生成一个 JUnit XML 报告来输出测试结果。我从研究中了解到,我必须实现自己的记者。有没有更完整的例子?

测试跑者

背景:我的测试解决方案是通用的,并使用配置文件来参数化测试。所有测试与被测系统并行运行。因此,在此尝试之前,调用所有 gitlab-jobsmvn test来执行测试并生成报告,但它每次运行都会重新编译所有内容。我想加快速度。

0 投票
1 回答
462 浏览

java - 如何为 DirectoryStream 编写 junit 测试

我在一个名为 Test.java 的类中有这个函数,它包括;

所以基本上它将所有文件夹作为“../../tmp”路径中的列表返回。我想为它写一个测试,这就是我所做的,但它不起作用:

我收到以下错误;

0 投票
2 回答
4630 浏览

java - 尝试模拟时出现 java.lang.ExceptionInInitializerError

我在尝试模拟 interface 的对象时遇到了这个问题org.springframework.ui.Model。我正在使用带有3.5.15Java 8 和 JUnit Jupiter 的 Mockito。我尝试在全局和方法内部同时使用@Mockand Mockito.mock(),但无论如何都会出错。由于initMocks()已弃用,我正在使用Mockito.openMocks(). 我知道 的内容testGetMenu()不会导致错误,因为即使方法体为空我也会得到它。被测试的类是一个 Spring MVC 控制器。

模拟时的堆栈跟踪:

AppControllerTest.java

应用控制器.java

pom.xml

Stacktrace 如果我不嘲笑

0 投票
0 回答
1238 浏览

java - 如何使用 JUnit5 模拟 System.getenv()

我想模拟 System.getenv() 方法。我只找到了 JUnit4 和 PowerMockito 的解决方案。我使用以下依赖项:

这是我的测试示例:

如何用 JUnit5 模拟 System.getenv()?