【发布时间】:2016-03-11 08:25:41
【问题描述】:
我正在尝试使用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 运行器版本 3.2
- Visual Studio nUnit3 测试适配器版本 3.0.8.0(均未找到测试)
- nUnit 版本 3.2.0
- 规格为 4.4.0.0 版
- Specsfor.Mvc 是版本 3.4.0.0
- 所有项目均使用 .Net 4.6 构建
知道为什么测试运行者会忽略此测试吗?
【问题讨论】:
-
您是否缺少课程中的 [TestFixture] 属性?这会在嵌套类when_a_user_adds_an_event里面。
-
这不是问题,因为 SpecsFor 基类有一个 [TestFixture] 属性。
标签: .net asp.net-mvc nunit integration-testing