我有一个为“TemporaryFolder”定义的规则如下:
@Rule
public TemporaryFolder xyzFolder = new TemporaryFolder();
并在方法中:
private void testMethod() {
File testFile = xyzFolder.newFile("test");
}
但是获得例外:
java.lang.Exception: The @Rule 'xyzFolder' must implement MethodRule or TestRule.
答案 0 :(得分:0)
测试方法应该公开作为测试用例运行并正确解释规则。
@Test
public void testMethod() {
File testFile = xyzFolder.newFile("test");
}
http://junit.org/junit4/javadoc/4.12/org/junit/Test.html
但是,如果没有查看代码的更多细节,我可以建议的另一件事就是检查您是否使用了正确版本的JUnit及其org.junit.rules.TemporaryFolder而不是其他内容。
答案 1 :(得分:0)
在类xyzFolder中添加“实现TestRule”或“实现MethodRule” 就像“ xyzFolder实现TestRule / MethodRule”。 那将解决错误,然后您必须根据需要实现未实现的方法,请看一下 有关更多详细信息https://junit.org/junit4/javadoc/4.12/org/junit/rules/MethodRule.html。