如何在另一个测试类中重用JUnit测试?
例如:
public TestClass1 {
@Test
public void testSomething(){...}
}
public TestClass2 {
@Test
public void testSomethingAndSomethingElse() {
// Somehow execute testSomething()
// and then test something else
}
}
发布于 2018-08-15 20:18:09
这对于使用不同的配置运行测试是很常见的。不要担心,继续吧。
第一步,在不考虑任何配置的情况下创建自己的测试:
public abstract BaseTests {
@Test
protected void somethingHelper() {
// Test something
}
}
然后,扩展测试类并添加一些配置:
public TestClass1 extends BaseTests {
@Before
public void setup(){
// TODO: config
}
}
不需要进行特定的配置,但这在可配置的系统中很常见(系统的主要功能对于每个配置都必须有效)。
在另一个测试用例中:
public TestClass2 extends BaseTests {
@Before
public void setup(){
// TODO: other config
}
}
例如,可能存在加密和解密过程,其中必须识别encryption>decryption序列。另一方面,当测试过程是独特的时,有一种不同的算法可供使用。
发布于 2013-06-17 17:52:45
从逻辑上讲,没有理由从一个测试方法调用另一个测试方法。任何运行一个测试的工具都可以轻松地运行包中的所有测试。但如果需要,您可以像调用任何其他类中的任何其他方法一样调用它。
您最可能要做的是为这两种测试方法执行一些常见的设置。您可以将that
代码放在公共类的实用程序方法中,然后在两个测试中调用公共代码。
https://stackoverflow.com/questions/17144646
复制相似问题