Здравствуйте. Подскажите плиз.
Вот есть тестовый класс с тестовыми методами.
Запускаю его и если какой-либо тест фейлится, то запускается следующий. Но мне в одном конкретном случае, где каждый тест состоит из последовательной цепочки этих тестов, надо чтобы весь тест (тестовый класс) стопился, так как нет смысла вызывывать последующие тестовые методы.
то есть каждому последующему методу указывать в зависимостях предыдущий?
Вообще, это нехорошая практика. Но если примерло, то можно проставить зависимости метода от метода, либо создать группу от которой будет зависеть тест и т.д.
В идеале, конечно же, чтобы зависимостей не было вовсе.
да, в идеале лучше чтобы не было, но у меня длинный тестовый сценарий, последовательный.
Во-первых, некоторые тестовые фреймворки дают возможность указать порядок выполнения тестовых методов, или зависимости, кау указали выше. Во-вторых, это есть зло, если от этого зависит результат методов. То есть, есть смысл использовать для оптимизации ресурсов, но не более. Тесты должны быть автономными и независимыми.
Если у вас тестовый сценарий один, но длинный, имхо, вопрос исключительно в организации кода. Пусть это будет один тестовый метод, который имеет в себе тучу проверок, но хорошо структурирован. То есть, как правило, разбит на методы. Типа
-
public void testAllStuff() {
-
testFirstPage();
-
fillFirstPageData();
-
testSecondPage();
-
......
-
}
где вызываемые методы не должны восприниматься ланучером тестов, как отдельные тестовые методы (если это вам подходит и вы не хотите вызывать их по отдельности).
Это в общем. А дальше уже возникает естественная мысль - возможно, вы неправильно подходите к структурированию своих тестов, или не осознаете все возможности тестового фреймворка. Тут уже надо детали знать