[英]Java: Calling in main implemented Interface Methods from a jUnit - Test
[英]Extrating jUnit test methods in interface
是否可以在帶有注解@Test的接口中聲明方法,並在具體類中使用它們。 我的問題是,實現接口的類具有批注@Override而不是@Test。 有解決方案還是必須使用父類?
使用abstract class
而不是interface
。
您可以在absctract class
中用注解@Test
標記方法
1)
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.