我正在尝试在课堂上测试私有方法。我发现使用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?

10-06 02:01