我是JUnit测试的新手,我想在 IntelliJ IDEA 2017.3.3 中创建一个参数化测试。所以我添加了JUnit 5:
然后IntelliJ下载了org.junit.jupiter:junit-jupiter-api:5.0.0
。现在,@Test
正在运行,但@ParameterizedTest
不是。它说"无法解析符号' ParameterizedTest'"。它与@ValueSource
:
代码:
import org.junit.jupiter.api.*;
class SSTest {
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
void testSlowSort(int arg) {
}
@Test
void testSort() {
}
}
PS:还缺少包org.junit.jupiter.params
。否则,IntelliJ会自动导入它。
我希望有人可以帮我解决这个问题。我没有使用Maven,Gradle等,只是Java。
答案 0 :(得分:4)
在article 2.1.2 of JUnit docs中,提到junit-jupiter-params
是一个单独的工件,包含对参数化测试的支持。
在article 3.14中,解释了参数化测试支持目前是一个实验性功能。
因此,您需要将junit-jupiter-params
工件添加到依赖项(即Maven或Gradle)。
答案 1 :(得分:1)
使用下面的导入语句[Intellisense应该自动导入那些导入内容]
import org.junit.jupiter.params.ParameterizedTest
在您的build.gradle.kts中添加以下依赖项(用于gradle构建)
testImplementation("org.junit.jupiter:junit-jupiter-params:5.6.2")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-params:5.6.2")
构建项目和@ParameterizedTest批注应该可用。如果没有,请重新启动IntelliJ并加载库。