Невозможно запустить тестовые случаи с атрибутом DataRow в MTM - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь запустить тестовый пример, подобный приведенному ниже в Microsoft Test Manager. Я создал тестовый пример в MTM под набором тестов и прикрепил созданный ниже тестовый пример к сценарию автоматизации.

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}

[TestMethod]
[DataRow(3, 4, 7)]
[DataRow(5, 6, 11)]
public void When_add_two_numbers(int firstNumber, int secondNumber, int expectedResult)
{
    //Arrange
    Calculator calc=new Calculator();

    //Act
    var actualResult = calc.Add(firstNumber, secondNumber);

    //Assert
    Assert.AreEqual(expectedResult,actualResult);
}

Поскольку MSTest теперь поддерживает атрибуты DataTestMethod и DataRow, я ожидаю, что такие тесты, управляемые данными, смогут работать и на MTM. Разве это не поддерживается МТМ? Если нет, то какой обходной путь?

Я получаю ошибку ниже, когда пытаюсь запустить этот тестовый пример в MTM.

«Метод» не имеет правильной подписи. Метод теста, помеченный атрибутом [TestMethod], должен быть нестатичным, общедоступным, не возвращает значение и не должен принимать никаких параметров. например: public void Test.Class1.Test ().

1 Ответ

0 голосов
/ 16 мая 2018

Вам нужно заменить [TestMethod] на [DataTestMethod]

[DataTestMethod] //<-- THIS IS REQUIRED
[DataRow(3, 4, 7)]
[DataRow(5, 6, 11)]
public void When_add_two_numbers(int firstNumber, int secondNumber, int expectedResult) {
    //...
}

чтобы методы испытаний могли иметь параметры и использовать их для параметризации теста.

...