Я задал похожий вопрос здесь , хотя речь шла не о порядке выполнения тестового класса. Тесты заказа могут привести к тому, что они будут хрупкими, если причина заказа такова, что какое-то состояние может быть настроено / поддержано. Если это относится к вашим тестам, я бы предложил написать их так, чтобы они не зависели от порядка.
Что касается вашей проблемы с кодом на уровне сборки, то обходные пути для AssemblyInitialize
и AssemblyCleanup
могут быть следующими:
private int InitCount;
[AssemblyInitialize]
public static void Setup(TestContext context)
{
if (InitCount++ == 0) {
//Do Something
}
}
[AssemblyCleanup]
public static void Teardown()
{
if (--InitCount == 0) {
//Do something
}
}
По сути, вы можете заставить методы на уровне сборки запускаться только один раз.