gpt4 book ai didi

intellij-idea - 如何在 Java 类中导入 JunitParamsRunner

转载 作者:行者123 更新时间:2023-12-04 15:08:38 27 4
gpt4 key购买 nike

这是我接触 JUnit 的第一天。我尝试使用参数进行测试。我有代码:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

import static org.junit.Assert.assertEquals;

@RunWith(JUnitParamsRunner.class)
public class MoneyParameterizedTest {
private static final Object[] getMoney() {
return new Object[] {
new Object[] {10, "USD"},
new Object[] {20, "EUR"}
};
}
@Test
@Parameterized.Parameters(method = "getMoney")
public void constructorShouldSetAmountAndCurrency(
int amount, String currency) {
Money money = new Money(amount, currency);
assertEquals(amount, money.getAmount());
assertEquals(currency, money.getCurrency());
}
}

IntelliJ 告诉我:无法解析符号 JUnitParamsRunner 和方法。是进口的问题吗?我正在测试的类(class)在同一个包中。

----- 编辑 -------

我将 JunitParamsrunner.class 更改为 Parameterized.class 并且没问题,但是 Parametrized.Parameters 中符号“方法”的问题是相同的。

最佳答案

JUnitParams ( licensed Apache 2.0 ) 是一个单独的库,这意味着它不随 JUnit 本身一起提供。这也意味着您需要确保它位于项目的类路径中。如果您使用的是 maven(或类似的东西),那么它很容易,您只需要将它作为依赖项添加到您的 pom 中,并确保 IJ 已获取更改(如果它在右上角):

<dependency>
<groupId>pl.pragmatists</groupId>
<artifactId>JUnitParams</artifactId>
<version>1.0.5</version>
<scope>test</scope>
</dependency>

否则, download it yourself (单击 Download ( JAR ) 链接)和 library它到你的类路径。

请注意,虽然概念相似, Parameterized JUnitParams 不是一回事,后者试图简化和改进编写参数化 JUnit 测试的方式。

附注:还有一个名为 Zohhak 的库这似乎比 JUnitParams 更灵活但它是在 LGPL 3.0 下发布的所以这取决于您的许可限制。

关于intellij-idea - 如何在 Java 类中导入 JunitParamsRunner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39366130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com