是否可以在带有注释 @Test 的接口中声明方法并在具体类中使用它们。我的问题是,实现接口的类有注解@Override 而不是@Test。有解决方案还是我必须使用父类?
问问题
803 次
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 回答