テストを実行した後にメソッドを実行する方法があるかどうかを知りたいと思います。 私はeclipseを使用しています。テストの一部または全部を実行してから、 というコードを実行すると、junitは常に最後のテストの後に一度自分のテストを実行します。junit4で最後のテストを行った後にグローバルティアダウンメソッドを実行する
具体的な問題は、私がセレニウムwebdriverを使用していて、すべてのテストが完了した後にwebdriverのquitメソッドを実行したいということです。最初に私は静的なクラスwebdriver参照を管理していた、今私はシングルトンのパターンに移動しました。私はもっと良い解決策があると信じていますが、今は私がJavaの初心者であるため、IoCコンテナを使用したくありません。
これまでのところ私はいくつかのアプローチを試みましたが、どれも成功しませんでした。
スーツアプローチは、私はすべての私のテストを実行したときに動作します:
@RunWith(Suite.class)
@SuiteClasses({SomeTest.class, OtherTest.class, AnotherTest.class})
public class TestSuit {
@BeforeClass
public static void setUp() {
System.out.println("setting up");
}
@AfterClass
public static void tearDown() {
System.out.println("tearing down");
}
}
しかし、私はちょうど1つのテストクラスまたは1つの特定の名前空間からすべてのテストを実行したい場合はどうでしょうか。
クラスアプローチは、すべてのテストが1つのクラスにグループ化されている場合にのみ機能します。
私はNUnitがSetUpFixtureAttributeを実装していると信じています。私が得たいと思っているのは、jUnitに対応していますか?
私はそれを試してみると思いますが、これまでのところ、それは唯一の解決策です。あなたの助けを借りてください。 – 0lukasz0
これはLukasのために機能しましたか? – SlimDavid