Как обнаружить неиспользуемые определения шагов в проекте junit огурца-jvm?

Я провожу тесты автоматизации с использованием проекта огурца-junit, и в моем проекте примерно около 200 сценариев.. теперь проблема в том, что в моем проекте трудно найти неиспользуемые определения шагов, поскольку нам постоянно нужно обновлять функции.. Есть ли любое решение для обнаружения определений шагов, которое больше не полезно. Любая помощь высоко ценится!


person Ranjith's    schedule 31.05.2016    source источник
comment
Возможно, это поможет stackoverflow.com/questions/8966367/   -  person Mark Chorley    schedule 31.05.2016


Ответы (3)


Плагин огурца IntelliJ может искать использование определения шага. Это не даст вам все неиспользуемые за один раз, но, по крайней мере, вы сможете проверять отдельные случаи использования один за другим. Плагин также доступен в Community Edition IDEA.

person Mykola Gurov    schedule 31.05.2016

Поскольку огурец-jvm 4.4.0 можно использовать встроенный плагин огурца-jvm - не используется.

для огурца junit runner это может выглядеть так:

@RunWith(Cucumber.class)
@CucumberOptions(
    plugin = {
        "json:build/report/cucumber.json",
        "unused:build/report/usage.txt"} //mind this plugin
    glue = "stepdefs",
    features = "features"
)
public class CucumberRunner {
}

После запуска неиспользуемые stepdefs должны быть найдены в build/report/usage.txt.

Исходный запрос на вытягивание: https://github.com/cucumber/cucumber-jvm/pull/1648

person karoisuzvards    schedule 13.01.2020

Может быть случай, когда один шаг может быть частью разных сценариев и будет иметь один метод только в определении шага. Таким образом, легко сопоставить шаг файла функций с соответствующим методом при выполнении файла функций с помощью подключаемого модуля «функция огурца».

Тем не менее, буквально невозможно перекрестно проверить то же самое из файла определения шага, чтобы идентифицировать один шаг в количестве файлов функций.

Пожалуй, единственный возможный выход — сделать ваше приложение модульным:

1) с файлами функций и соответствующими файлами определения шагов, специфичными для конкретной функции/модуля. 2) Сохраняйте общие методы в общем файле определения родительского шага.

Таким образом, проектирование приложения по модульному принципу может легко привести к выявлению неиспользуемых методов, которые можно удалить из определений шагов.

person GaurZilla    schedule 29.05.2017