Использование Autofixture 3.46 Атрибут AutoData из Autofixture.xUnit2 3.46 и xunit2, создающий экземпляр Sum в параметре метода тестирования, я получаю Xunit.sdk.EqualException из утверждения.Почему у нас есть неполная реализация типов из параметра метода тестирования - AutoFixture с AutoData
[Theory ]
[AutoData]
public void ShouldBeSum_AutoData(int a, int b, Sum uut)
{
//problem
int residue = uut.Value; //not zero!
//fix
uut.Value = 0;
//Arrange - in the parameter leads to problem
// var uut =new Sum();
//Act
uut.Add(a);
uut.Add(b);
//Assert
Assert.Equal(a + b, uut.Value);
}
кажется значение свойства нового экземпляра Sum не установлен по умолчанию для данного типа (скажем ноль) на instantiation- доказательств в ненулевое значение «остатка».
public class Sum
{
public int Value { get; set; }
public void Add(int number)
{
Value += number;
}
}
Активация тестовой цели uut из тела (и с новым) дает ожидаемые значения начальных значений по умолчанию. Таким образом, класс uut не полностью создан из параметра в настоящее время - это ваша ответственность.
Затруднительное положение по дороге?