0

スイートのセットアップ レベルでインスタンス化されるリソースが必要なため、TestSuite からのみ実行する必要があり、直接実行する必要のないテストのグループがあります。

だから私のテストスイートは

@RunWith(Suite.class)
@Suite.SuiteClasses({IT_LiquidBaseTest.class})
@ContextConfiguration(locations = {"classpath:spring-config-test.xml"})
public class DBTestSuite {
    private static MysqldResource mysqldResource;
    ....

私のテストはこのようなものです

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring-config-test.xml"})
public class IT_LiquidBaseTest {
    @Autowired
    private DataSource dataSource;

したがって、スイートを起動するとすべて問題ありませんが、maven を呼び出すと、IT_LiquidBaseTest を直接実行しようとして失敗します。データソースを取得するには依存性注入が必要です

Maven Surefireプラグインがこれを行うのを防ぎ、テストスイートの実行を有効にする方法を知っていますか

ありがとう

4

1 に答える 1

1

org.junit.Assumeスイートの状態をテストするために使用できます。

@Before
public void beforeMethod() {
     org.junit.Assume.assumeTrue(DBTestSuite.someCondition());
     // rest of setup.
}

仮定が失敗した場合、テストは実行されません。

質問に対する最も投票された回答を参照してください: JUnit 4 で条件付きでテストを無視する

于 2013-04-23T16:14:02.503 に答える