NUnit построен на том, что любой отдельный тест является полностью автономным.Если у вас есть вещи, которые необходимо выполнить до запуска теста, они могут быть помещены в метод SetUp
, и если у вашего теста есть какие-либо побочные эффекты, у вас может быть метод TearDown
, чтобы отменить эти побочные эффекты., но в противном случае предполагается, что любой отдельный тест может быть выполнен в любое время, и что порядок тестирования не имеет значения.Это имеет несколько преимуществ для разработчиков, поскольку вы можете запускать любой набор тестов, не беспокоясь об их предварительных условиях, а условие прохождения / сбоя одного теста не зависит от условия прохождения / сбоя другого теста.
Я бы посоветовал вам сначала пересмотреть, почему ваши тесты имеют эти ограничения в первую очередь, и попытаться переписать их, чтобы они тестировали более отдельные части функциональности и не имели обязательного состояния вашей системы.В принципе, вы можете объединить эти тесты в один тест, чтобы вы могли обрабатывать зависимости, но это, как правило, не очень хорошее решение, так как это часто приводит к очень большим тестам (тогда как модульные тесты обычно тестируют очень маленькое условие или кусокфункциональности).Было бы лучше взглянуть на то, какие условия нужно тестировать, и написать каждый тест с нуля, чтобы протестировать только это условие, не предполагая, что ваша система находится в каком-либо состоянии или какие-либо другие тесты уже выполнялись.
Без дополнительных подробностей о том, что вы пытаетесь протестировать, сложно дать конкретное предложение о том, как улучшить вашу систему, но в целом вы получите максимальную отдачу от модульного тестирования, если каждый тест полностью автономен.