junit5相关内容
我正在使用Maven的SpringBoot后端应用服务器上使用JUnit5。以下是项目根目录下的sonar-project.properties文件: sonar.host.url=https://sonarcloud.io sonar.login=xxx sonar.organization=xxx sonar.projectKey=xxx sonar.sourceEncoding=UT
..
我正在使用WebDriverManager Java库。它提供了一个通用管理器,可以被参数化为特定的管理器(对于Chrome、Firefox等)。我将它与Selify WebDriver和JUnit5的@PARAMETIZED和@ValueSource注释一起使用,这样我就可以在多个浏览器上运行我的测试。 我按照WebDriverManager文档创建了一个实现: public class
..
我想将以下(正在运行的)Java测试转换为Kotlin: package my.project; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; import java.io.File; import j
..
我在springboottest中使用posgresql测试容器。由于我有多个测试涉及此测试容器,因此我使用了静态测试容器,它将为1个JUNIT类的所有测试调用一次,并在所有测试执行后关闭。 这是我在EachCallback之前使用参数解析程序实现的。 这种方法的问题是,在默认的应用程序.yml中配置的数据源元数据(如jdbc-url、db名称、主机、端口)不会直接在测试容器属性中使用
..
Internal Error occurred. org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-vintage' failed to discover tests at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.disc
..
我要编写一个测试用例,该测试用例要求setter引发异常。 class ClassUnderTest { fun regularMethod(){ require(false)} var currentValue: Int = 0 set(_) { require(false) } } 对于常规函数,我可以简单地
..
我正在尝试实现此JUnit代码: private BinlistsService binlistsService = Mockito.mock(BinlistsService.class); @Mock Optional binList = null; @BeforeEach public void beforeEachTest() throws IOExce
..
我正在尝试测试我的Spring Boot REST控制器,以检查如果Bean验证失败,请求是否发送属性错误。 我有一个@RestController: @RestController @RequestMapping("/restaurants") public class RestaurantsApiController { private final RestaurantS
..
我知道我们可以使用@Rule和TestName在JUnit4中做到这一点,但是我使用的是JUnit5(Jupiter),我正在努力寻找一种方法来打印@BeforeEach方法中(要执行的)测试方法的名称。 推荐答案 在您的@BeforeEach方法中声明TestInfo参数。JUnit Jupiter将在运行时注入它的一个实例,其中包含与“当前执行的测试”相关的所有可用信息。 例
..
在尝试实例化LocalstackContainer时,我得到了以下异常。我确实有这个类可用,并且能够在我的本地找到源代码。我找不到根本原因。我使用的是带有Java 11的Windows操作系统。 import org.testcontainers.containers.localstack.LocalStackContainer; import org.testcontainers.juni
..
我正在将测试方法从单参数修改为多参数: @ParameterizedTest @NullSource @ValueSource({"foo", "bar"..}) void shouldReturnFalse(String x) { assertThat(someMethod(x)).isFalse(); } @ParameterizedTest @CsvSource({ "nul
..
在JUnit4中,您可以使用规则来包装测试,以便可以在测试运行之前和之后执行代码。在大多数情况下,这可以通过@BEFORE和@AFTER方法或ExternalResource规则完成。但是,一些控制流构造(如Try-with-Resources)不能拆分成两个方法。在大多数情况下,除了这些构造之外,还有其他方法可以将它们拆分成两个方法。例如,使用Try-With-Resources,您可以手动获取
..
我刚刚开始编写一些Junit5测试和扩展。 我很快就谈到了我认为是一个问题:我如何告诉Junit5ExtensionB需要ExtensionA在场? 例如,我有一个‘base’扩展ExtensionA,它启动一个数据库并执行一些初始化,这对一些测试来说已经足够了。 我还有ExtensionB,这需要ExtensionA完成的一些工作,主要是从存储中获取一些对象,然后解析一些参数。
..
是否可以以固定的执行顺序在某些其他测试之间执行多个嵌套测试? 例如 @TestInstance(Lifecycle.PER_CLASS) @TestMethodOrder(OrderAnnotation.class) class MyTest { private State state = State.ZERO; @Test @Order(1) pu
..
有没有办法使用@MethodSource来使用其他类中定义的方法? 例如:下面的代码可以工作,因为stringProvider方法定义在同一个类中。 @ParameterizedTest @MethodSource("stringProvider") void methodSourceFromOtherClass(String word) { System.out.printl
..
我在进行以下集成测试时遇到问题 import org.junit.jupiter.api.Order; import org.junit.jupiter.api.TestMethodOrder; import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; @SpringBootTest @ActiveProfiles("test"
..
我有一堆从@MethodSource接收参数的@ParameterizedTest,toString()结果非常详细(例如Selify的WebDriver)。默认情况下,这些名称用于组成相应的显示名称。来自JUnit 5 user guide: 默认情况下,参数化测试调用的显示名称包含调用索引和该特定调用的所有参数的字符串表示形式。但是,您可以通过@ParameterizedTest注释[…
..
我正在尝试为以下服务方法创建单元测试: public CompanyDTO update(CompanyRequest companyRequest, UUID uuid) { final Company company = companyRepository.findByUuid(uuid) .orElseThrow(() -> new EntityNot
..
我正在尝试在IntelliJ中运行测试,该测试以前在Spring Boot 2.2.x中运行。我最近升级到了春靴2.3.9。当我尝试从运行配置运行测试时,它没有运行测试并抛出错误: ‘无法解析junit Platform Launcher 1.6.3 IntelliJ’。 但是,如果我在CLI中运行测试,它工作正常。 推荐答案 原来,需要添加Junit5-Platform-
..
我一直尝试使用Maven(版本3.3.9)和JUnit5(而不是4)在一个类中使用以下命令运行单个测试,但未成功: mvn -Dtest=EmitRulesTest#cr_filter_contact_points_for_C4C_output test 此命令执行所有测试。 尝试此命令实际上会执行类中的所有测试: mvn test -Dtest=EmitRulesTest
..