首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在另一个测试类中重用现有的JUnit测试?

如何在另一个测试类中重用现有的JUnit测试?
EN

Stack Overflow用户
提问于 2013-06-17 17:47:39
回答 2查看 46K关注 0票数 39

如何在另一个测试类中重用JUnit测试?

例如:

代码语言:javascript
复制
public TestClass1 {
    @Test
    public void testSomething(){...}
}

public TestClass2 {
    @Test
    public void testSomethingAndSomethingElse() {
        // Somehow execute testSomething()
        // and then test something else
    }
}
EN

回答 2

Stack Overflow用户

发布于 2018-08-15 20:18:09

这对于使用不同的配置运行测试是很常见的。不要担心,继续吧。

第一步,在不考虑任何配置的情况下创建自己的测试:

代码语言:javascript
复制
public abstract BaseTests {
    @Test
    protected void somethingHelper() {
        // Test something
    }
}

然后,扩展测试类并添加一些配置:

代码语言:javascript
复制
public TestClass1 extends BaseTests {
    @Before
    public void setup(){
         // TODO: config
    }
}

不需要进行特定的配置,但这在可配置的系统中很常见(系统的主要功能对于每个配置都必须有效)。

在另一个测试用例中:

代码语言:javascript
复制
public TestClass2 extends BaseTests {
    @Before
    public void setup(){
         // TODO: other config
    }
}

例如,可能存在加密和解密过程,其中必须识别encryption>decryption序列。另一方面,当测试过程是独特的时,有一种不同的算法可供使用。

票数 4
EN

Stack Overflow用户

发布于 2013-06-17 17:52:45

从逻辑上讲,没有理由从一个测试方法调用另一个测试方法。任何运行一个测试的工具都可以轻松地运行包中的所有测试。但如果需要,您可以像调用任何其他类中的任何其他方法一样调用它。

您最可能要做的是为这两种测试方法执行一些常见的设置。您可以将that代码放在公共类的实用程序方法中,然后在两个测试中调用公共代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17144646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档