2017-02-16 7 views
0

実際@Christophから提案されたすべてのコードがクリストフからの説明はテストシナリオの前に有効ですが、ないでテストクラスCitrusFrameworkのCustomActionはテストでテストケースを失敗しなかった

後の試験

@Configuration 
    public class AppConfig { 

    @Bean(name="correlationId") 
    public String getCorrelationId() { 
     return RandomNumberFunction.getRandomNumber(48, false); 
    } 

    @Bean 
    @DependsOn("correlationId") 
    public SequenceAfterTest afterTest() { 
     return new KrampCitrusTestRunnerAfterTestSupport(); 
    } 

    @Bean 
    @DependsOn("correlationId") 
    public SequenceBeforeTest beforeTest() { 
     return new KrampCitrusTestRunnerBeforeTestSupport(); 
    } 
    } 

後にどういうわけか答え を与えていない結果

public class KrampCitrusTestRunnerAfterTestSupport 
     extends TestRunnerAfterTestSupport { 


    @Override 
    public void afterTest(TestRunner runner) { 

     runner.echo("This action should be executed after each test"); 
     runner.fail("message"); 
     } 
    } 

したがって、この構成では、TEST SUCESSのレポートに気付きましたか。

14:19:50,900 INFO   citrus.Citrus| 
14:19:50,901 INFO   citrus.Citrus| 
14:19:50,903 WARN  citrus.TestCase| After test failed with errors 
com.consol.citrus.exceptions.TestCaseFailedException: Test case failed 
    at com.consol.citrus.TestCase.executeAction(TestCase.java:236) 
    at com.consol.citrus.dsl.runner.DefaultTestRunner.run(DefaultTestRunner.java:198) 
    at com.consol.citrus.dsl.runner.DefaultTestRunner.fail(DefaultTestRunner.java:265) 
    at com.kramp.eai.test.common.iibexception.KrampCitrusTestRunnerAfterTestSupport.afterTest(KrampCitrusTestRunnerAfterTestSupport.java:45) 
    at com.consol.citrus.dsl.runner.TestRunnerAfterTestSupport.doExecute(TestRunnerAfterTestSupport.java:48) 
    at com.consol.citrus.actions.AbstractTestAction.execute(AbstractTestAction.java:42) 
    at com.consol.citrus.TestCase.afterTest(TestCase.java:203).... 
    Caused by: com.consol.citrus.exceptions.CitrusRuntimeException: message 
at com.consol.citrus.actions.FailAction.doExecute(FailAction.java:40) 
at com.consol.citrus.actions.AbstractTestAction.execute(AbstractTestAction.java:42) 
at com.consol.citrus.TestCase.executeAction(TestCase.java:229) 
... 31 more 
14:19:50,917 INFO   citrus.Citrus| 
14:19:50,917 INFO   citrus.Citrus| ----------------------------------- 
------------------------------------- 
14:19:50,917 INFO   citrus.Citrus| 
14:19:50,918 INFO   citrus.Citrus| 
14:19:50,918 INFO   citrus.Citrus| AFTER TEST SUITE: SUCCESS 
14:19:50,918 INFO   citrus.Citrus| ----------------------------------- 
------------------------------------- 
14:19:50,918 INFO   citrus.Citrus| 
14:19:50,918 INFO   citrus.Citrus| ----------------------------------- 
------------------------------------- 
14:19:50,918 INFO   citrus.Citrus| 
14:19:50,918 INFO   citrus.Citrus| CITRUS TEST RESULTS 
14:19:50,918 INFO   citrus.Citrus| 
14:19:50,924 INFO   citrus.Citrus| TC12: CDM............................... SUCCESS 
14:19:50,924 INFO   citrus.Citrus| 
14:19:50,924 INFO   citrus.Citrus| TOTAL: 1 
14:19:50,924 INFO   citrus.Citrus| FAILED: 0 (0.0%) 

答えて

0

これは、JUnitまたはTestNGのテスト後の段階にあるためです。これは、技術的にシトラス試験の一部ではありません。 Citrusで* AfterTestSupportクラスを使用する必要があります(http://www.citrusframework.org/reference/html/test-suite.html#after-test)。それだけで、Citrusのテスト変数とテスト境界にアクセスできます。

+0

まだ良くない '@Override \tパブリックvoid afterTest(TestRunnerランナー){FailActionアクション=新しいFailAction(); \t action.setMessage( "ERROR"); \t runner.run(action); } '私はこの情報をレポートINFO nnerAfterTestSupport、イベント名:出力 WARN citrus.TestCase |エラーでテストが失敗した後 com.consol.citrus.exceptions.TestCaseFailedException:テストケースが失敗しました。citrus.Citrus |テストスイート後:成功 citrus.Citrus | citrus.Citrus | CITRUS TESTは FlowTestCase.flowTestItemUpdateMessage SUCCESS結果 – user3499805

+0

あなたは柑橘のcontext.xmlに '<豆ID = "afterTestRunner" クラス= "com.company.MyAfterTestSupportを" XMLビーン定義を使用して、SpringアプリケーションコンテキストのいずれかにAfterTestSupportクラスを追加する必要があります/> ' またはJava Spring Beanのコンフィグレーション ' @Bean public SequenceAfterTest afterTest(){ return MyAfterTestSupport(); } ' –

関連する問題