为什么nUnit不执行我的SpecsFor.Mvc测试?

时间:2016-03-11 08:25:41

标签: .net asp.net-mvc nunit integration-testing

我正在尝试使用SpecsFor.Mvc实施端到端测试。我实施了以下测试:

namespace Features
{
    class AddEvents
    {

        public class when_a_user_adds_an_event: SpecsFor<MvcWebApp>
        {
            protected override void Given()
            {
                SUT.NavigateTo<HomeController>(c => c.Index());
            }
            protected override void When()
            {

                SUT.Browser.FindElementById("btn-add-event").Click();
                SUT.FindFormFor<Event>()
                    .Field(f => f.Name).SetValueTo("Alex")
                    .Field(f => f.Date).SetValueTo("01/01/2013")
                    .Submit();
            }

            [Test]
            public void then_event_should_be_added()
            {
                Assert.Fail();
            }
        }
    }
}

问题是,nUnit没有发现此测试并报告它没有找到任何测试。我有以下设置:

  • nunit-console runner版本3.2
  • Visual Studio nUnit3测试适配器版本3.0.8.0(均未找到测试)
  • nUnit Version 3.2.0
  • Specsfor版本4.4.0.0
  • Specsfor.Mvc版本3.4.0.0
  • 所有项目均使用.Net 4.6
  • 构建

知道为什么测试跑者忽略了这个测试?

1 个答案:

答案 0 :(得分:3)

有关于SpecsFor.MVC报告的NUnit问题,请参阅https://github.com/nunit/nunit/issues/1277

就我们(nunit guys)所知,SpecsFor不支持NUnit 3.0。但是,这是基于对其代码的粗略检查。我们都不熟悉它。

坦率地说,除非有深入了解SpecsFor的人提出建议,否则这个问题不会发生太大的变化。