gpt4 book ai didi

unit-testing - 在 JUnit 中使用参数化测试

转载 作者:行者123 更新时间:2023-12-04 05:59:41 25 4
gpt4 key购买 nike

我有一个类,其中一个公共(public)方法非常适合参数化测试。另外,我读到您通常会在项目中的测试用例(具有多个带有 @Test 注释方法的方法的类)和类之间保持对应关系。是否有可能同时使用 Parameterized.class 和 JUnitCore.class 作为 runner ?现在,如果使用 Parameterized 我无法弄清楚如何设置方法的非参数化测试
在同一个测试用例中。我曾考虑过创建一个套件,然后将包括
参数化测试和“常规”测试,但似乎要使名称对测试用例有意义,我必须将测试用例的名称绑定(bind)到方法的名称,而不是绑定(bind)到包含似乎是标准的方法的类方式。

例如

 public class MyClass {

public int methodSuitableForParameterizedTest(int m){
// Implementation
}

public int methodForRegularTest(int m) {
// Implmentation
}
}

我还能有一个测试用例吗 TestMyclass包含第一种方法的参数化测试以及第二种方法的非参数化测试?

最佳答案

这很难做到,它涉及到创建自己的运行者来完成这两项工作,所以我会坚持使用两类解决方案,一种带有参数化测试,一种没有。

问题是双重的,@RunWith类和构造函数上的注释。对于参数化测试,您需要 @RunWith(Parameterized.class)和一个带参数的构造函数。对于标准测试,构造函数没有参数。 JUnit 检查特定类是否只有一个构造函数。您可以通过创建另一个运行者来做到这一点,但这并不简单。

在这种情况下,我建议有两个测试类。

关于unit-testing - 在 JUnit 中使用参数化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9080505/

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