Как пропустить выполнение тестового примера из Hooks в огурце - PullRequest
0 голосов
/ 25 июня 2018

Мне нужно пропустить выполнение тестового примера @bannerVerificationSMMDView, только когда viewPort имеет значение Large

@Before
    public void beforestartUp(Scenario scenario) throws IOException {    
     boolean runTest = true;
        if (viewPort.contains("LARGE")) {
            System.out.println("for Scenario " + scenario.getName() + " tagname are");
            List<String> tags = (List<String>) scenario.getSourceTagNames();
            for (String tagName : tags) {
                if (tagName.contains("bannerVerificationLView"))
                    runTest = false;
            }
            try {
                Assume.assumeTrue(runTest);
            } catch (AssumptionViolatedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
   }

Не знаю почему, но исключение не ловится

1 Ответ

0 голосов
/ 25 июня 2018

Бросьте AssumptionViolatedException, чтобы пропустить выполнение сценария.

@Before(value="@bannerVerificationSMMDView")
public void before(Scenario scenario) {

    if(viewPort.contains("LARGE"))
        throw new AssumptionViolatedException("Skipping as view is LARGE");

}

Если вы используете огурец версии 3 плюс, вы можете использовать аннотацию @BeforeStep, оставив все остальное таким же. Это позволит вам выполнить любые предыдущие шаги в сценарии, и если условие не будет выполнено, пропустите остальные шаги в сценарии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...