【发布时间】:2016-02-04 20:35:36
【问题描述】:
我正在尝试根据之前在我的一个 src/main 类中设置的 queue 参数化 JUnit4 测试。这是我到目前为止所做的,有一个测试套件的类(MigratorTestSuite)
@RunWith(Suite.class)
@Suite.SuiteClasses({ParameterizedTest.class})
public class MigratorTestSuite {
@BeforeClass
public static void setUp() throws SAXException, ParserConfigurationException, GitAPIException, IOException {
Migrator.getReady();
}
@AfterClass
public static void tearDown() throws SQLException {
DatabaseManager.closeConnections();
RepositoryManager.closeRepository();
}
}
还有一个 ParameterizedTest 类,我正在研究如何运行 parameterized JUnit test,如下所示:
@RunWith(Parameterized.class)
public class ParameterizedTest {
@Parameterized.Parameters(name="whatever")
public static Queue<Deque<String>> data(){
return TestCasesConstructor.testCasesQueue;
}
private Deque<String> scenario;
public ParameterizedTest(Queue<Deque<String>> q){
scenario = q.peek();
}
@Before
public void initialize() throws ParserConfigurationException, IOException, SQLException, ClassNotFoundException {
System.out.println("--- Preparing database for running scripts");
DatabaseManager.dropDatabase();
DatabaseManager.createDatabase();
}
@Test
public void testPlainMigration() throws Exception {
Assert.assertTrue(Migrator.runScenario(this.scenario));
}
@After
public void after() throws SQLException {
DatabaseManager.closeConnections();
TestCasesConstructor.testCasesQueue.remove();
}
}
当我执行mvn clean install test -Dtest=MigratorTestSuite 时,结果是它没有找到任何测试,当我调试它时,它显示:
没有找到与
org.junit.runner.Request中的任何参数匹配的数据的测试 在org.junit.internal.requests.FilterRequest.getRunner
我做错了什么?我应该更好地在 TestNG 中实现它吗?我对 Junit 真的很陌生。
【问题讨论】:
标签: java maven intellij-idea junit junit4