1
私はクラスでプライベートメソッドをテストしようとしています。私はdp4jを使ってプライベートメソッドをテストするのがとても簡単で、サンプルコードも見つけたことがわかりました。しかし、そのサンプルコードは実行されていません。私はeclipseから実行しようとしており、dp4j.jarはすでにビルドパスに含まれています。 JUnitサイトにある例は、dp4jの助けが必要
です。プロジェクトのライブラリとして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);
}
}
これを実行するのに助けてくれる人は誰ですか?
を参照してください。より具体的に何が問題になるのでしょうか? – mkro
あなたがどのようにテストを行っているのかを説明してください。 –
私はeclipseから実行しています。ビルドパスにdp4j.jarを追加しました。しかし、eclipseはメソッドt()の1行目と3行目でコンパイルエラーを示します。しかし、dp4jサイトの説明を読むと、コンパイル時にリフレクションコードが生成され、テスト中にプライベートメソッドにアクセスするための余分なコードを書く必要がないようです。 – Partha