我有两个使用Arquillian进行JPA测试的文件。我注意到,当我在两个测试中使用完全相同的@Deployment方法时 - 一切都很好。但是当我使用不同的时候,我会得到例外:
ArquillianServletRunner not found. Could not determine ContextRoot from ProtocolMetadata, please contact DeployableContainer developer
在第一个测试文件中,我的@Deployment方法看起来完全如下:
@Deployment
public static Archive<?> createDeployment() {
MavenDependencyResolver resolver = DependencyResolvers.use(MavenDependencyResolver.class).loadSettings("pom.xml");
return ShrinkWrap.create(WebArchive.class, "test.war")
.addPackage(TestEntity1.class.getPackage())
.addAsResource("test-persistence.xml", "META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
.addAsLibraries(resolver.artifact("postgresql:postgresql:9.1-901.jdbc4").resolveAsFiles());
}
在第二个测试文件中,只有更改是TestEntity2而不是TestEntity1。 我的两个实体都可以,因为我可以在一个测试文件中轻松使用其中两个实体。
更改的原因是将大量测试移至不同的测试文件。
那里有什么问题?为什么我不能使用多个测试文件?