Arquillian REST Extension 1.0.0.Alpha3 Released · Arquillian Blog を見ながらやるとかなり簡単にできた。
テスト対象のリソースクラス
シンプルなこんな感じのリソースクラスをテスト対象に。。。
public class HelloResource { @GET @Produces(MediaType.TEXT_PLAIN) public String get() { return "hello"; } }
build.gradleに必要なライブラリを追加
testCompile 'org.jboss.arquillian.junit:arquillian-junit-container:1.1.9.Final' testRuntime 'org.jboss.arquillian.container:arquillian-glassfish-embedded-3.1:1.0.0.CR4' testRuntime 'org.glassfish.main.extras:glassfish-embedded-all:4.1' testRuntime 'org.jboss.arquillian.extension:arquillian-rest-client-impl-jersey:1.0.0.Alpha3'
テストクラス
テストメソッドにテスト対象のリソースクラスをinjectすることができるので、あとはテスト対象メソッドを呼び出して結果をアサートするだけ。
@RunWith(Arquillian.class) public class HelloResourceTest { @Deployment public static WebArchive createDeployment() { return ShrinkWrap.create(WebArchive.class, "hoge.war") .addClass(HelloResource.class); } @Test public void test(@ArquillianResteasyResource HelloResource resource) throws Exception { System.out.println("resource = " + resource); assertThat(resource.get(), is("hello")); } }
テスト実行結果
実行できました。
おわり。