2017-12-30 28 views
2

私はこのJUnitテストがあります。)(「ユニット試験法「testExecuteReverseAcknowledgement:必要に応じてIntelliJ IDEAのインスペクションを「アサーションなしのJUnitテストメソッド」に設定するにはjmockitの検証で作業するには?

@Test 
public void testExecuteReverseAcknowledgement(@Mocked final MessageDAO messageDAO) { 
    //... 

    classUnderTest.execute(messageContext, actionContext); 

    Verifications verifications = new Verifications() {{ 
      messageDAO.setAcknowledgement("APC"); 
     }}; 
} 

それは、アサーションがた検証ブロックで行われている作品(http://jmockit.org/tutorial/Mocking.html#model

残念ながら、のIntelliJ IDEAは警告を生成します'アサーションが含まれていません'。

この検査を設定してのIntelliJは、アサーションとして検討していく方法でクラスを指定することが可能である:

IntelliJ inspections settings window

しかし、私は(mockit.Verificationsを指定することはできていないようです)コンストラクタそこ。クラス名として "mockit.Verifications"を、メソッド名として "。*"、 "new"、 "()"を試しました。

私の質問は、IntelliJがその警告を生成しないように、どのようにして検証クラスをアサーションとして指定できますか?

答えて

2

残念ながら、IDEAはコンストラクタ以外の方法を検索します。

ソースを確認し、デバッグIDEAを作成しました。 パターン "。*"は正しいですが、コードはコンストラクタに対して実行されません。

enter image description here

あなたがここにコードを見ることができます:// youtrack:https://github.com/JetBrains/intellij-community/blob/master/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/TestMethodWithoutAssertionInspectionBase.java

それは機能要求:)

+1

私が作成した[バグレポート](HTTPSを作るための良い機会だし。 jetbrains.com/issue/IDEA-184438)を参照してください。 –

関連する問題