グローバル管理者権限を持つユーザーが少なくとも1人存在することを確認し、存在しない場合は1人作成するSEAMコンポーネントを作成しました。
@Name("installer")
@Stateless
public class InstallerBean implements Installer, Serializable{
@Observer("org.jboss.seam.postInitialization")
public void install() {
...
}
public boolean isInstalled() {
...
}
}
次に、インストーラーが正しく機能することをテストする必要があります。isInstalled()がtrueを返すことを確認し、正しいユーザーとロールがデータベースに存在することを確認する必要があります。ただし、インストールが完了する前にSeamTest.ComponentTest.testComponents()が実行されています。ログを見ると、インストーラーからの最後のメッセージが2回目のテスト実行の途中に表示されるため、テストがランダムに失敗することがわかります。
次の方法でインストーラーをテストしようとしています。
public class InstallerTests extends SeamTest {
@Test
public void isInstalledTest() {
new ComponentTest() {
@Override
protected void testComponents() {
...
}
}
}
...
}
インストールが完了した後、どうすればテストを開始できますか?
私はSEAMを初めて使用するので、すべてを完全に間違っているのかもしれません。もっと良い方法があれば教えてください。