我正在尝试将资源添加到Arquillian收缩包装存档并通过类路径加载它。但是,我没有设法使它工作。我尝试使用addAsResource()和addAsWebInfResource()。下面的版本是我认为应该工作的版本,但不是。任何解决方案?
import static org.junit.Assert.assertNotNull;
import java.io.InputStream;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(Arquillian.class)
public class ResourceLoadingTest {
@Deployment
public static WebArchive createDeployment() {
WebArchive archive = ShrinkWrap.create(WebArchive.class)
.addAsWebInfResource(new StringAsset("Hello World"),
"classes/test.properties");
System.out.println(archive.toString(true));
return archive;
}
@Test
public void testLoadResource() {
InputStream stream = Thread.currentThread().getContextClassLoader()
.getResourceAsStream("/test.properties");
assertNotNull(stream);
}
}
控制台输出:
411ad6b1-7705-406f-ba05-d7f46ca14966.war:
/WEB-INF/
/WEB-INF/classes/
/WEB-INF/classes/test.properties