#c# #c#-4.0 #mstest
Вопрос:
Я пытаюсь создать управляемый данными тест, который будет проверять поведение метода при получении либо пустой строки, либо нулевого значения. Что я сделал, так это добавил атрибуты DataRow, но если я не добавлю отображаемое имя, они будут рассматриваться как одна строка. С отображаемым именем мой тест вызывается 2 раза, но оба вызова устанавливают значение null. Можно ли проверить пустую строку с помощью метода DataTestMethod?
Вот мой код
[DataTestMethod]
[
DataRow("", DisplayName ="Empty"),
DataRow(null, DisplayName ="Null")
]
public void MyTest(string value)
{
//Arrange
//Act
var result= new MyObject(value);
//Assert
Assert.IsNull(result);
}
Редактировать
Я также протестировал с помощью DynamicData, и результат идентичен
private static IEnumerable<Object[]> EmptyOrNullStrings { get; } = new Object[][] {
new Object[] { string.Empty },
new Object[] { null } };
[DataTestMethod]
[DynamicData(nameof(EmptyOrNullStrings), DynamicDataSourceType.Property)]
public void ZoneComplementaireVide_IdEnveloppeNull(string zoneComplementaire){...}
Ответ №1:
Другим обходным решением является понижение уровня пакета MSTest.TestAdapter
в тестовом проекте до версии 2.2.3. Я создал проблему на github: https://github.com/microsoft/testfx/issues/1028