Тестирование с пустой строкой с использованием DataRow в MsTestV2

#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