gpt4 book ai didi

java - @SuiteClasses 与 TestSuite 之间的 JUnit4 类别结果不同

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:50:07 25 4
gpt4 key购买 nike

我正在尝试使用类别针对 AllTests 测试套件运行 JUnit4 测试。在示例 1 中,运行 Suite3 有效,而示例 2 运行 Suite2 产生以下异常。

java.lang.Exception: Category annotations on Parameterized classesare not supported on individual methods.

I need to generate the TestSuite as the test is executed.

Any suggestions for how to correct the problem?Thanks

example 1

@RunWith(Categories.class)
@IncludeCategory(SlowTest.class)
@SuiteClasses(AllTests3.class)
public class Suite3 {
}

@RunWith(Suite.class)
@SuiteClasses({
MathUtilTest.class, MathUtil2Test.class
})
public class AllTests3 {
}

示例 2

@RunWith(Categories.class)
@IncludeCategory(SlowTest.class)
@SuiteClasses(AllTests2.class)
public class Suite2 {
}

public final class AllTests2 {
public static TestSuite suite() {
final TestSuite result = new TestSuite();
result.addTest(new JUnit4TestAdapter(MathUtilTest.class));
result.addTest(new JUnit4TestAdapter(MathUtil2Test.class));
return result;
}

private AllTests2() {
}

最佳答案

JUnit 4 (4.12)最新稳定版存在各种相关bug:

https://github.com/junit-team/junit4/issues/1203

有人为未发布的 4.13-SNAPSHOT 版本提交了修复程序,您可以通过在 https://github.com/junit-team/junit4 克隆他们的 GitHub 存储库来构建和检查自己

但是,我自己进行了几次测试,不得不得出结论,@Category 注释在您的 MathUtilTest 类上使用时确实有效,但只有在类被注释时,注释才会在用于单个测试方法时被忽略。

关于java - @SuiteClasses 与 TestSuite 之间的 JUnit4 类别结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44708244/

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