Я должен написать тесты для существующего кода с помощью xUnit. Вот упрощенная проблема, с которой я столкнулся:
using Xunit;
namespace XUnitTestProject1
{
public class UnitTest1
{
[Fact]
public void Test1()
{
GlobalHanler.StaticProperty = "some value";
}
[Fact]
public void Test2()
{
Assert.Null(GlobalHanler.StaticProperty);
}
}
public static class GlobalHanler
{
public static string StaticProperty;
}
}
GlobalHandler владеет другим объектом, оба состояния: c
Когда я запускаю 2 теста вместе, Test2
дает сбой, потому что он видит значение, которое было установлено в Test1
. Тем не менее, когда я запускаю Test2
по отдельности, это удается.
Моя цель - пройти 2 теста, когда они выполняются вместе. Мне нужно как-то сбросить глобальное свойство stati c для каждого теста в отдельности, но я не могу изменить реализацию GlobalHandler
Установка StaticProperty
в каждом методе теста не представляется возможным, потому что это будет влияет на другие тесты, работающие параллельно