Я провожу тесты автоматизации с использованием проекта огурца-junit, и в моем проекте примерно около 200 сценариев.. теперь проблема в том, что в моем проекте трудно найти неиспользуемые определения шагов, поскольку нам постоянно нужно обновлять функции.. Есть ли любое решение для обнаружения определений шагов, которое больше не полезно. Любая помощь высоко ценится!
Как обнаружить неиспользуемые определения шагов в проекте junit огурца-jvm?
Ответы (3)
Плагин огурца IntelliJ может искать использование определения шага. Это не даст вам все неиспользуемые за один раз, но, по крайней мере, вы сможете проверять отдельные случаи использования один за другим. Плагин также доступен в Community Edition IDEA.
Поскольку огурец-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
Может быть случай, когда один шаг может быть частью разных сценариев и будет иметь один метод только в определении шага. Таким образом, легко сопоставить шаг файла функций с соответствующим методом при выполнении файла функций с помощью подключаемого модуля «функция огурца».
Тем не менее, буквально невозможно перекрестно проверить то же самое из файла определения шага, чтобы идентифицировать один шаг в количестве файлов функций.
Пожалуй, единственный возможный выход — сделать ваше приложение модульным:
1) с файлами функций и соответствующими файлами определения шагов, специфичными для конкретной функции/модуля. 2) Сохраняйте общие методы в общем файле определения родительского шага.
Таким образом, проектирование приложения по модульному принципу может легко привести к выявлению неиспользуемых методов, которые можно удалить из определений шагов.