【问题标题】:Creating an Interface for JUnit [closed]为 JUnit 创建接口 [关闭]
【发布时间】:2014-10-03 07:10:58
【问题描述】:

我使用 TDD 开始了一个项目。

我很少有parsers 实现相同的接口。

他们每个人都有这个特定接口的不同实现。

在测试它们时,我只是一次又一次地对它们中的每一个重复相同的测试。

想知道是否有可能在实现时创建所有JUnits 的接口,我将得到它:

@Override
@Test
public void testMethodA()
{
    // TODO Auto-generated method stub

}

@Override
@Test
public void testMethodB()
{
    // TODO Auto-generated method stub

}

而不是每次都复制过去并手动创建测试减速? 同样,当类接口发生变化时,我需要向每个 JUnit 添加测试等。

底线,

我想通过实现和接口为每个类自动生成一个空的测试用例,我将在公共解析器测试中声明它。有没有办法使用eclipse 做到这一点?

【问题讨论】:

  • 这不是 100% 清楚的。您是说要为每个类自动生成一个空的测试用例吗?
  • 您可以简单地定义一个包含所有解析器共有的所有测试的基类,并为每个解析器实现定义一个子类,其唯一的工作就是创建要测试的解析器。
  • 是的,我想通过实现和接口为每个类自动生成一个空的测试用例,我将在常见的解析器测试中声明它。有没有办法做到这一点?
  • 如果您使用的是好的 IDE(IntelliJ 属于此类),您可以让它自动实现接口。
  • 在 eclipse 中有什么办法吗?

标签: java eclipse junit testcase


【解决方案1】:

目前我使用 JUnit 4 和 Selenium WebDriver 为我的公司项目编写集成测试用例。我面临和你一样的问题。所以我创建了一个扩展 junit.framework.TestCase基本测试用例 并编写所有junit类的所有常用方法。查看示例实现,

public class BaseTestCase extends TestCase {

    @Before
    public void setUp() throws Exception {
         //Do something.
     }

    @After
    public void tearDown() throws Exception {
        //Do something.
    }

    protected boolean isElementPresent() {
         //Do something.
         return true;   
    }
    ....

}

我在所有特定的 JUnit 类上扩展了该基础测试用例。参见

 public class LoginTest extends BaseTestCase {
       ...
 }

 public class FooTest extends BaseTestCase {
       ...
 }

我只是把我的方法分享给你。不确定你需要什么解决方案。在 eclipse 中没有用于生成现成 JUnit 测试用例的插件或功能。

【讨论】:

  • 非常感谢,总比没有好:)
猜你喜欢
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
相关资源
最近更新 更多