数十の継承クラスを持つ抽象クラス「Comando」をテストしようとしています。私が実際にテストしたいのは、さまざまな動作をテストするための多くの異なる chuld クラスです (「コマンド」はコマンドに変換されます)。私のテスト ケースは次のようなものです。
public void testComandoGetInfo() {
ComandoGetInfo cmd = new ComandoGetInfo(equip);
equip.executarComando(cmd, true, true);
cmd.getStatus();
}
行に注意してくださいcmd.getStatus()
。この行を書くと、NetBeans から「メソッドが見つかりません」というコンパイル エラーが返されます。コード補完を切り替えると、Comando のメソッドがまったく表示されず、TestCase テスト メソッドと、ComandoGetInfo クラスにある単一のメソッドのみが表示されます。
ComandoGetInfo は Comando を拡張したクラスであり、パブリックとプライベートの両方の非常に多くのメソッドと変数があります。
では、親クラスの Comando のどのメソッド (ゲッター、セッター、パブリック メソッドまたは変数、何でも、静的なものでさえも) にアクセスできないのはなぜですか? また、アクセスできない場合のテスト方法は?
編集:エラーが何であるかを見つけました。テスト クラスに元のクラスとまったく同じ名前を付けただけなので、Comando.java のテスト クラスは... Comando.java で、テスト フォルダーの同じパッケージにありました。ファイルの名前を正しい名前「ComandoTest.java」に変更した後、すべてが正常に戻りました。