我编写了一个框架,增加了对其接口进行类型安全调用的可能性.现在,在编写JUnit测试时,我想表明编译器现在检查先前导致运行时错误的特定表达式.
// this does not compile, because nameProp is of type Property<String>
Integer name = interface.getProperty(nameProp);
Run Code Online (Sandbox Code Playgroud)
可能最好简单地将代码注释掉并保留原样.我只是想知道是否可以使用某些测试框架来编写类似的内容
assertCompilationError() {
Integer name = interface.getProperty(nameProp);
}
Run Code Online (Sandbox Code Playgroud)
我明确地不想随意使用自定义类路径调用javac.如果有可能将一般解决方案提取到框架代码(并捐赠给JUnit或TestNG),那么这种解决方案也会受到欢迎.
一段时间后,我发现了以下一个软件:
http://docs.codehaus.org/display/JANINO/Home
看起来应该可以进行某种黑客攻击,以便仅编译有问题的块。无论如何,现在我的示例不起作用,因为它还不支持泛型。
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |