当方、JavaEE7でWeb開発を行っており、ユニットテストのテスティングフレームワークとして
arquillianを使っています。
環境は下記です。
JDK jdk1.8.0_45
Glassfish 4.1
JPA 2.1
Junit 4.10
現状、arquillianでテストはできていますが、非常に遅く、
1つのテーブルからプライマリキーを指定してレコードを取り出す、
といったような単純な処理を行うにも1分以上かかります。
こちら処理時間を短縮するような手法がわかる方がいましたら
アドバイスいただければと思います。
pomでのarquillian関連の設定は下記のように記述しております。
pom.xmlでのarquillianの依存性解決
<dependency> <groupId>org.jboss.arquillian</groupId> <artifactId>arquillian-bom</artifactId> <version>1.0.0.Final</version> <scope>test</scope> <type>pom</type> </dependency> <dependency> <groupId>org.jboss.arquillian.junit</groupId> <artifactId>arquillian-junit-container</artifactId> <version>1.0.0.Final</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.container</groupId> <artifactId>arquillian-glassfish-remote-3.1</artifactId> <version>1.0.0.CR4</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.extension</groupId> <artifactId>arquillian-persistence-impl</artifactId> <version>1.0.0.Alpha6</version> <scope>test</scope> </dependency>
arquillian.xml
<?xml version="1.0"?> <arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://jboss.org/schema/arquillian" xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> <group qualifier="Grid" default="true"> <container qualifier="remote-gf1" default="true" > <configuration> <property name="adminPort">4848</property> <property name="adminHost">localhost</property> </configuration> </container> </group> </arquillian>
またテストコードは下記のように記述しています。
public class PersonFacadeTest { @Deployment public static WebArchive makeWarFile() { WebArchive war = ShrinkWrap.create(WebArchive.class); war.addClass(PersonBean.class) .addClass(PersonFacade.class) .addClass(Person.class) .addAsResource("META-INF/persistence.xml"); return war; } @Inject PersonFacade personfacade; /** * Test of create method, of class PersonFacade. */ @Test public void testfind() throws Exception { //idを指定し、レコードを取り出すだけのメソッドです。 Person person = personfacade.find(10); System.out.println(person); } }
このメソッド(testfind)を実行するのに1分以上かかってしまうような状態なので改善できる方法をご存知の方がいればアドバイスしていただけるとありがたいです。
あなたの回答
tips
プレビュー