プライベート コンストラクターの @test クラスを作成するにはどうすればよいですか。私もエマツールでカバーしたいです。
public final class Product {
private Product() {
}
}
誰かが簡単な方法を提案できますか?
ありがとう。
プライベート メソッドをテストする最良の方法は、Reflectionを使用することです。
多くの方法がありますが、私はこれを簡単に行います。
@Test
public void testConstructorIsPrivate() throws Exception {
Constructor constructor = Product.class.getDeclaredConstructor();
assertTrue(Modifier.isPrivate(constructor.getModifiers()));
constructor.setAccessible(true);
constructor.newInstance();
}
これにより、カバレッジ ツール emma の実行時にコンストラクタがカバーされます。
実装の一部であるため、プライベートコンストラクターをテストする必要はないと思います。明確に定義されたコントラクトを持つ API メソッドのテストのみを記述します。