...
<dependencyManagement> <dependencies> <dependency> <groupId>org.jboss.arquillian</groupId> <artifactId>arquillian-bom</artifactId> <version>1.4.1.Final</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>8.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.junit</groupId> <artifactId>arquillian-junit-container</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>fish.payara.arquillian</groupId> <artifactId>arquillian-payara-server-4-embedded</artifactId> <version>1.0.Beta3</version> </dependency> <dependency> <groupId>fish.payara.extras</groupId> <artifactId>payara-embedded-all</artifactId> <version>5.192</version> <scope>test</scope> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>1.5.20</version> <type>jar</type> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>app</finalName> <testResources> <testResource> <directory>src/test/resources</directory> </testResource> </testResources> <testSourceDirectory>src/test</testSourceDirectory> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M3</version> </plugin> </plugins> </build> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <failOnMissingWebXml>false</failOnMissingWebXml> </properties> <name>app</name>...
@RunWith(Arquillian.class)public class AppITest {
@Deployment(testable = false) public static JavaArchive createDeployment() { return ShrinkWrap.create(JavaArchive.class) .addClasses(JAXRSConfiguration.class, AppResource.class, appService.class, AppEntity.class) .addAsResource("META-INF/persistence.xml") .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); }
....
@RunAsClient @Test public void testApp(@ArquillianResource URL baseURL) throws URISyntaxException { int status = ClientBuilder.newClient().target(baseURL.toURI()).path("rest/users").request(MediaType.APPLICATION_JSON).get().getStatus(); assertEquals(200, status); }
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class)
.addClass(JAXRSConfiguration.class)
.addClass(UsersResource.class)
.addClass(UsersService.class)
.addClass(User.class)
.addAsResource("META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}