Как подсчитать количество файлов функций, все контуры сценария которых прошли?

Я новичок в огурцах. Я делаю следующее, используя код Java/в сборке города команды (т.е. автоматически без ручного вмешательства)

  1. Я создаю файлы функций, которые содержат максимум три схемы сценария.
  2. Я подсчитываю количество сгенерированных файлов функций и запускаю файлы функций
  3. Существуют ли какие-либо встроенные теги Cucumber или что-то, что позволяет подсчитывать все переданные файлы функций?

Заранее спасибо за помощь


person Hari Rao    schedule 23.07.2018    source источник
comment
Вы можете посмотреть на использование пользовательского форматтера ... Какая версия?   -  person Grasshopper    schedule 23.07.2018
comment
@Кузнечик - это 1.2.4   -  person Hari Rao    schedule 24.07.2018


Ответы (1)


Пользовательский форматировщик ниже предоставит списки файлов функций, в которых все шаги были пройдены, а также списки файлов функций, в которых не удалось выполнить какой-либо шаг. При необходимости реализуйте другие методы с пустыми методами. Добавьте это в бегун в настройках плагинов.

public class SuccessCounter implements Reporter, Formatter {

    private List<Feature> allScenarioPassedFeature;
    private List<Feature> anyScenarioFailedFeature;
    private boolean stepFailed;
    private Feature feature;

    public  SuccessCounter() {
        allScenarioPassedFeature = new ArrayList<Feature>();
        anyScenarioFailedFeature = new ArrayList<Feature>();
    }


    @Override
    public void result(Result arg0) {
        if(stepFailed==false && arg0.getStatus() != Result.PASSED)
            stepFailed = true;            
    }

    @Override
    public void close() {
        System.out.println("COUNTS");
        System.out.println("Passed - " + allScenarioPassedFeature.size());
        System.out.println("Failed - "+anyScenarioFailedFeature.size());
    }

    @Override
    public void eof() {
        if(stepFailed)
            anyScenarioFailedFeature.add(feature);
        else
            allScenarioPassedFeature.add(feature);
    }

    @Override
    public void feature(Feature arg0) {
        stepFailed = false;
        this.feature = arg0;
    }

}

Используйте на свой страх и риск, если у вас есть параллельный запуск.

person Grasshopper    schedule 24.07.2018
comment
спасибо @Кузнечик. Попробую и отпишусь как у меня получилось. - person Hari Rao; 24.07.2018
comment
Какой метод я должен вызвать в приведенном выше и где я должен его вызвать? Я вижу, что метод Feature принимает Feature, а метод результата принимает Result. Должен ли я передавать сгенерированные файлы функций в функцию (Feature arg0)? Извините, так как я новичок в этом, я задаю эти вопросы низкого уровня. - person Hari Rao; 26.07.2018
comment
Не нужно напрямую звонить. Нужно включить в раннер. automationrhapsody.com/create-cucumber-jvm-custom-formatter - person Grasshopper; 26.07.2018