アノテーション @Test を使用してインターフェイスでメソッドを宣言し、それらを具象クラスで使用することは可能ですか。私の問題は、インターフェイスを実装するクラスに @Test ではなく @Override という注釈があることです。解決策はありますか、それとも親クラスを使用する必要がありますか?
1 に答える
1
abstract class
の代わりに使用しinterface
ます。アノテーション
でメソッドをマークできます1)absctract class
@Test
public interface ITest {
@Test
public void simpleTest();
}
public class SimpleTest implements ITest
{
@Override
public void simpleTest()
{
Assert.assertTrue(true);
}
}
我々が得る
Tests in error:
initializationError(com.company.tester.SimpleTest)
2)
public interface ITest {
public void simpleTest();
}
public class SimpleTest implements ITest
{
@Test
@Override
public void simpleTest()
{
Assert.assertTrue(true);
}
}
すべて正常に動作し、テストに合格しました!
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
3)抽象クラス
public abstract class ATest {
@Test
public abstract void simpleTest();
}
public class SimpleTest extends ATest
{
@Override
public void simpleTest()
{
Assert.assertTrue(true);
}
}
public class SecondTest extends ATest
{
@Override
public void simpleTest()
{
Assert.assertFalse(false);
}
}
テストは順調に合格しています!
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
于 2012-08-29T14:07:37.213 に答える