Для начала: я новичок в Visual Studio и SpecFlow в целом.
Следуя документации по началу работы с SpecFlow, я получаю 2 разных результата в зависимости от того, какой тип проекта я запускаю.
Модульный тестовый проект: в проектах такого типа тесты вообще не распознаются бегуном.Запускается только тест «SpecRun Evaluation».
Тестовый проект MSTest (.NET Core): в проектах такого типа тесты всегда проходят, но я получаю сообщение об ошибке в выходных данных тестов: «Значение не может бытьnull. Имя параметра: message ", и это вызвано" генератором "
Я делаю все это на типичной Windows 10 Pro.Я пробовал как на VS 2017, так и на 2019. Я попытался повторить весь процесс на случай, если что-то пропустил.Также попробовал обновить пакеты.Что-то, что, возможно, следует отметить, проекты модульных тестов не генерируют файл App.config.
using System;
using TechTalk.SpecFlow;
namespace Tests.Steps
{
[Binding]
public class CalculatorSteps
{
[Given(@"I have entered (.*) into the calculator")]
public void GivenIHaveEnteredIntoTheCalculator(int p0)
{
Console.WriteLine(p0);
}
[Given(@"I have also entered (.*) into the calculator")]
public void GivenIHaveAlsoEnteredIntoTheCalculator(int p0)
{
Console.WriteLine(p0);
}
[When(@"I press add")]
public void WhenIPressAdd()
{
Console.WriteLine("add pressed");
}
[Then(@"the result should be (.*) on the screen")]
public void ThenTheResultShouldBeOnTheScreen(int p0)
{
Console.WriteLine(p0);
}
}
}
Я бы с большой вероятностью ожидал запуска тестов и получения какой-то обратной связи, когда я намеренно выбрасываюисключение в тесте.
Все это всего лишь задача для приложения работы, но я предоставил файл функций по умолчанию, который генерируется, поскольку обе ситуации имеют такой результат.У меня уже есть идея, как выполнить задание, и вот я застрял в Настройке на несколько часов ... Я действительно надеюсь, что это просто моя глупость / неопытность.
.csproj: https://codeshare.io/5zxk0W