2

私のgradle.buildファイルには次の依存関係があります。これを最終ファイルに配置したくありませんが、テスト フェーズでテストwarを実行するために必要です。Arquillian

/* Snippet from build.gradle. */
testCompile 'org.seleniumhq.selenium:selenium-java:2.48.2'

Maven を使用している場合は、次のように記述できます。

File[] files = Maven.resolver().resolve("org.seleniumhq.selenium:selenium-java:2.48.2").withTransitivity().asFile();

しかし、私はGradleリゾルバーを使用しているので、それはできないと思います:

@RunWith(Arquillian.class)
public abstract class ArquillianTestCase extends SeleniumTestCase {

    @Deployment
    public static WebArchive createDeployment() {

        /* Create the war file according to build.gradle. */
        WebArchive war = ShrinkWrap.create(EmbeddedGradleImporter.class)
                .forThisProjectDirectory().importBuildOutput()
                .as(WebArchive.class);

        /* Abstract test classes which depends on Selenium */
        war.addClasses(ArquillianTestCase.class, SeleniumTestCase.class);
        return war;
    }
}

Gradleでこれを行う方法はありますか? 上記の依存関係を追加しないと、私のテストNoClassDefFoundErrorは Selenium クラスで失敗します。ただし、Selenium の依存関係をcompileではなくに変更testCompileすると動作しますが、war ファイルのサイズが 3 メガバイトから 20 メガバイトに跳ね上がり、テスト クラスがいっぱいになります。

前もって感謝します。

4

1 に答える 1