Для начала: я новичок в Visual Studio и SpecFlow в целом.
Следуя документации по началу работы по SpecFlow, я получаю 2 разных результата в зависимости от того, какой тип проекта я начинаю.
Проект модульного тестирования: в этом типе проектов тесты вообще не распознаются исполнителем. Выполняется только тест "SpecRun Evaluation".
MSTest Test Project (.NET Core): в проектах этого типа тесты всегда проходят, но я получаю сообщение об ошибке в выводе тестов: «Значение не может быть нулевым. Имя параметра: сообщение», и это вызвано «генератором»
Все это я делаю на обычной 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