私は@After
でシステムからログアウトし、ブラウザを閉じるのは@AfterClass
です。私は@Rule
を使用して、すべてのテストメソッドでSeleniumを使用して失敗したテストスクリーンショットを取得しようとしています。私は手動で@Rule
がすべて@Before
の前に実行されていることを確認しましたが、@Test
の後で@After
の前に設定します。私は簡単な解決策を見つけることができませんでした。どんな助けもありがとう。JUnitで '@Test'の後に '@After'の後に '@Rule'を入力してください
public class MorgatgeCalculatorTest {
@Before
public void before(){
System.out.println("I am before");
}
@BeforeClass
public static void beforeclass(){
System.out.println("I am beforeclass");
}
@Test
public void test(){
System.out.println("I am Test");
}
@Test
public void test2(){
System.out.println("I am Test2");
}
@After
public void after(){
System.out.println("I am after");
}
@AfterClass
public static void afterclass(){
System.out.println("I am afterclass");
}
@Rule
ExpensiveExternalResource ExpensiveExternalResource = new ExpensiveExternalResource();
static class ExpensiveExternalResource implements MethodRule {
public ExpensiveExternalResource(){
System.out.println("I am rule");
}
@Override
public Statement apply(Statement arg0, FrameworkMethod arg1, Object arg2) {
// TODO Auto-generated method stub
return null;
}
}
私は取得しています出力は
I am beforeclass
I am rule
I am before
I am Test
I am after
I am rule
I am before
I am Test2
I am after
I am afterclass
私は、テストが失敗した場合にのみスクリーンショットを撮りたいと述べました。すべてのテストではありません:D –
面白いです。私は注文だけに興味があったので、実際にあなたの質問は私の答えでした:) –
@GáborLipták:)私はうれしいです! –