gpt4 book ai didi

java - 在接口(interface)中提取 jUnit 测试方法

转载 作者:行者123 更新时间:2023-11-30 11:41:39 24 4
gpt4 key购买 nike

是否可以在带有注解@Test 的接口(interface)中声明方法并在具体类中使用它们。我的问题是,实现接口(interface)的类具有注释@Override 而不是@Test。有解决方案还是我必须使用父类?

最佳答案

使用抽象类代替接口(interface)
您可以使用注释 @Test
标记 absctract class 中的方法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

关于java - 在接口(interface)中提取 jUnit 测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12178337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com