我正在尝试在课堂上测试私有方法。我发现使用dp4j可以很轻松地测试私有方法,并且还找到了示例代码。但是该示例代码未运行。我正在尝试从eclipse运行,并且dp4j.jar已包含在构建路径中。在JUnit网站上找到的示例是,
使用dp4j.jar作为项目的库,您可以在测试中直接访问私有方法。反射API代码将直接注入AST(即在编译过程中)。例如,以下将起作用:
class Junit11 {
private int one = 1;
private static void p(int i, Double d, String... s) {}
}
public class JunitTest11 {
@org.junit.Test
public void t() {
final int two = new Junit11().one + 1;
org.junit.Assert.assertEquals(2, two);
Junit11.p(two, new Double(2), "who", "said", "varargs are difficult to test with the reflection API?");
assertEquals("generate and validate my Patterns implementations", dp4j.com);
}
}
有人可以帮我运行吗?
最佳答案
您不能在Eclipse中使用dp4j。它使用内部javac API。 Eclipse有它自己的编译器,因此,除非您在Eclipse中使用maven,否则不能使用dp4j。
请参见dp4j FAQ: Does it work with Eclipse?