1

我正在尝试创建一个 junit 测试套件,它将运行应用程序中的所有测试套件...... - 这就是我所拥有的,据我所知它应该可以工作,但它一直告诉我没有找到任何测试。

import static org.junit.Assert.*;

import org.junit.Test;

/**
 * @author Jason
 *
 */

@Test
public class applicationTest extends TestCase {

    public applicationTestSuite(String name) {
        super(name);
    }

    public static Test suite() {
        TestSuite suite = new TestSuite("ApplicationTestSuite");
        suite.addTest(domain.AllDomainTests.suite());
        suite.addTest(services.AllServicesTests.suite());
        suite.addTest(business.AllBusinessTests.suite());
        return suite;
    }
}

它应该运行的测试套件之一的示例 -

package business;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ ItemMgrTest.class })
public class AllBusinessTests {

}
4

2 回答 2

1

您需要@Test在测试方法上标记注释

API 文档

Test 注释告诉 JUnit,它所附加的公共 void 方法可以作为测试用例运行。为了运行该方法,JUnit 首先构造一个新的类实例,然后调用带注释的方法。测试抛出的任何异常都会被 JUnit 报告为失败。如果没有抛出异常,则假定测试已成功[...]

于 2012-06-17T18:14:33.217 回答
0

您可以在 中指定 Suite 类@SuiteClasses,例如:

@RunWith(Suite.class)
@SuiteClasses({ AllBusinessTests.class })
public class AllTests {

}

suite() 方法是 JUnit 3 的东西,不会在您的套件中找到任何方法或测试,因为您使用的是 JUnit 4。

于 2012-06-17T23:12:37.163 回答