java - 如何为 junit @Test 的 "expected"属性使用变量?

标签 java generics junit

我正在尝试编写一个通用测试类,但我找不到指定 @Test 注释的 expected 属性的通用方法。这是我的代码的精简版:

public class MyTest<T extends Throwable> {
    Class<T> clazz; // set in constructor

    @Test(expected=clazz)
    public void test() { 
    }
}

我在使用 clazz 时遇到的编译器错误是:

The value for annotation attribute Test.expected must be a class literal

有解决办法吗?

最佳答案

这不是一个 junit 问题。您只是不能在 Java 注释中使用变量。我不知道你到底想达到什么目的,但也可以使用 junit 规则设置预期的异常。并且可以遗传

关于java - 如何为 junit @Test 的 "expected"属性使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115439/

相关文章:

java - SonarQube 5.4 无法启动包装器错误

java - 无法构建JBoss

spring-boot - 对 Spring Boot Rest API 进行端到端测试的最佳方法是什么?

java - 如何断言表达式不编译

java - 从对象类型的角度来看,子类是否等同于它们的 racine 类?

c# - 通过反射设置属性 Nullable<>

java - 获取通用类型的通用类型

c# - 更新两个常用函数以使用泛型

java - 如何为 StrutsTestCase 配置 pom 以便找到 web.xml?

java - 显示网格的最佳方式?