2017-02-16 9 views
0

Фактически весь предложенный код из @Christoph не дает ответ Как-то объяснение от Christoph действует прежде, чем сценарии тестирования, но не после того, как тестCitrusFramework CustomAction не удался TestCase в тесте Результатов

@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"); 
     } 
    } 

Таким образом, эта конфигурация производит следующее - PLS уведомляет о своем отчете для 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 в Citrus, как описано здесь: http://www.citrusframework.org/reference/html/test-suite.html#after-test. Только тогда у вас есть доступ к тестовым переменным и границам тестирования в Citrus.

+0

По-прежнему нет хорошего '@Override \t public void afterTest (бегун TestRunner) {FailAction action = new FailAction(); \t action.setMessage ("ERROR"); \t runner.run (действие); } 'Я получаю это в отчете INFO nnerAfterTestSupport, название события: output WARN citrus.TestCase | После того, как тест завершился с ошибками com.consol.citrus.exceptions.TestCaseFailedException: тестовый пример завершился неудачей citrus.Citrus | ПОСЛЕ ТЕСТОВОГО ЛЮКС: УСПЕХ цитрусовые. Цитрусовые | цитрусовые. Цитрусовые | Цитрусовые РЕЗУЛЬТАТЫ ИСПЫТАНИЙ FlowTestCase.flowTestItemUpdateMessage УСПЕХ – user3499805

+0

Вы должны добавить класс AfterTestSupport в контексте Spring приложения либо с помощью определения XML-боба в цитрусовых context.xml '<боб ID =«afterTestRunner»класс =«com.company.MyAfterTestSupport» /> ' Или с помощью Java Spring боба конфигурации ' @Bean общественного SequenceAfterTest afterTest() { вернуть новый MyAfterTestSupport(); } ' –

Смежные вопросы