2017-07-18 6 views
0

現在、テストクラス内でカスタム注釈を処理するためにSpring TestExecutionListenerを使用しています。私はテストを無視したいと思っています。TestExecutionListenerがテストをスキップ/無視するようにする

現在、私はbeforeTestClassまたはbeforeTestMethodの中で仮定を使用していますが、これはうまくいきます。しかし残念なことに、それは騒々しいほど遠いスタックトレースを含むログに警告を生成します。

テストをプログラムで(おそらくTestContextを使用して)無視できますか?

+0

テスト用に@ActiveProfiles(profiles = {"dev"} 'を追加することはできませんか? – StanislavL

+0

複雑なハードウェア要件のため複雑になることはありませんので、独自の注釈接続されたデバイスに応じてテストをスキップする – Nitek

答えて

2

私はあなたがデフォルトのテストランナーを拡張しようとすると、isIgnored方法のカスタム実装を提供することができると思う:ここでは

public class CustomRunner extends BlockJUnit4ClassRunner { 
    public CustomRunner(Class<?> c) throws initializationError { 
     super(c); 
    } 

    @Override 
    protected boolean isIgnored(FrameworkMethod child) { 
     if(shouldIgnore()) { 
      return true; 
     } 
     return super.isIgnored(child); 
    } 

    private boolean shouldIgnore() { 
     /* some custom criteria */ 
    } 
} 

を、base implementation@Ignore注釈を持ってテストを無視していますが、独自の実装を提供することができます無視基準の

関連する問題