0

Arquillian/Shrinkwrap を使用してテストケースをテストする場合、プロジェクト相対パスを使用するにはどうすればよいですか?

IDataSet dataSet = new FlatXmlDataSetBuilder().build(new File("src\\ZZZZZ.xml"));
insertFromXML(dataSet);

テスト時にこの例外が表示されます
java.io.FileNotFoundException: C:\Uprogs\jboss-eap-6.2.4\bin\src\ZZZZZ.xml

テストを展開するサーバーのフォルダー内でファイルを見つけようとします。それよりも、私のプロジェクトに関連するフォルダー (例: C:\Users\xy\workspaces\MyProject\src\ZZZZZ.xml) を見てもらいたいのです。インターネットを検索しましたが、何も見つかりませんでした

シュリンクラップは次のように展開されます。

@Deployment
public static Archive<?> createDeployment() {
    File[] libs = Maven.resolver()  
            .loadPomFromFile("pom.xml").resolve(
                    "jcifs:jcifs"
                    , "org.dbunit:dbunit"
                    , "com.ibm:db2jcc_license_cisuz"
                    , "com.ibm:db2jcc"
                    )  
            .withTransitivity()
            .asFile();  

    return ShrinkWrap.create(WebArchive.class, "test.war")
            .addAsLibraries(libs)
            .addPackage("de.abc.RuleEditor")
            .addAsResource("de/abc/RuleEditor/messages.properties", "messages.properties")
            .addAsManifestResource("test-jboss-deployment-structure.xml","jboss-deployment-structure.xml")
            .addAsWebInfResource("test-beans.xml", "beans.xml")     
            .addAsWebInfResource(
                    new StringAsset("<faces-config version=\"2.0\"/>"), "faces-config.xml")
                    .merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)  
                            .importDirectory("src/main/webapp").as(GenericArchive.class), "/", Filters.include(".*\\.xhtml$"));
}
4

1 に答える 1