Тесты должны быть атомарными, в том смысле, что они НЕ должны полагаться на статус, созданный предыдущим тестом.Вот почему следует избегать последовательных тестов.В случае сбоя какой-либо части последовательности остальные тесты не выполняются, поэтому не имеет смысла разделять их (это может быть только один тест).
Если вам нужны предварительные условия для ваших тестов, вы можете включить их в: 1) перед всеми тестами, 2) в начале набора тестов, 3) перед вашим конкретным тестом, 4) внутри вашего конкретного теста.Независимо от того, где и когда это будет сделано, важно, чтобы вы предполагали, что все, что нужно для генерации этого статуса , работает так, как ожидается, поэтому вы просто сосредотачиваетесь на том, что тестируете.
Теперь, если вы хотите протестировать весь поток системы, я бы порекомендовал вам поместить это в один уникальный тест.В случае, если есть различия, то у вас будет несколько тестов.
Скажем, например, что вы хотите проверить D, но D нуждается в C, а затем C нуждается в B, и, наконец, B нуждается в A;одна из стратегий - создать тест, в котором вы будете выполнять A-> B-> C-> D.Другая стратегия заключается в создании нескольких тестов, в которых вы тестируете отдельные шаги: тест 1 выполняет A;тест 2 выполняет A-> B (но не волнует, в порядке ли A);тест 3 выполняет A-> B-> C (но не волнует, в порядке ли A и B);и так далее.Какую стратегию использовать, зависит от ваших целей и масштаба сценария.Лично я предпочитаю второй вариант для больших вещей и первый для простых / коротких.