gpt4 book ai didi

java - 排除参数化测试类中的非参数测试

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:44 25 4
gpt4 key购买 nike

JUnit 中是否有任何注释可以排除参数化测试类中的非参数测试?

最佳答案

JUnit 5

从 Junit 5.0.0 开始,您现在可以使用 @ParameterizedTest 注释您的测试方法。所以不需要内部类。除了 ValueSource 之外,还有多种方法可以向参数化测试提供参数,如下所示。请参阅official junit user guide详情:

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;

public class ComponentTest {

@ParameterizedTest
@ValueSource(strings = { "racecar", "radar", "able was I ere I saw elba" })
public void testCaseUsingParams(String candidate) throws Exception {
}

@Test
public void testCaseWithoutParams() throws Exception {
}
}

JUnit 4

如果您仍在使用 Junit 4(我使用 v4.8.2 进行了测试),您可以将封闭运行程序与内部类和参数化运行程序结合使用:

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

@RunWith(Enclosed.class)
public class ComponentTest {

@RunWith(Parameterized.class)
public static class ComponentParamTests {

@Parameters
...

@Test
public void testCaseUsingParams() throws Exception {
}
}

public static class ComponentSingleTests {

@Test
public void testCaseWithoutParams() throws Exception {
}
}
}

关于java - 排除参数化测试类中的非参数测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47764757/

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