我的mvc应用程序的项目URL像这个localhost:port / AppName
一样托管我创建了一个新的单元测试项目,使用nunit框架测试mvc app,并使用Approval Tests Library进行审批测试
[Test]
[UseReporter(typeof(FileLauncherReporter),typeof(ClipboardReporter))]
public void PaymentPopUpController_IndexView()
{
//Arrange
PortFactory.MvcPort = 8080;
// Act
Func<ActionResult> ScopeControllerTest = new ScopeController()._Index;
// Approve
MvcApprovals.VerifyMvcPage(ScopeControllerTest);
}
MvcApprovals.VerifyMvcPage抛出错误,说它无法找到网址,因为我没有设置正确的项目网址:
连接到以下时出现以下错误:
http:// localhost:8080 / Scope / _index
错误:
远程服务器返回错误:(404)Not Found。
所以我的问题是如何设置正确的URL以使用nunit进行mvc批准测试
答案 0 :(得分:0)
MvcApprovals将根据Controller名称+方法名称的组合构建网址。 所以在这种情况下,新的ScopeController()._ Index正在被翻译成 范围/ _index
为什么这不起作用有两种可能性
1)糟糕的网址。可能_index不公开或其他不正确的路线。最简单的测试方法是打开Web浏览器并将其指向
http://localhost:8080/Scope/_index
如果您的浏览器无法看到此网址,则无法进行审核。 (除非你使用cassinidev)
2)第二个原因是您可能没有在测试期间打开Web服务器。这也可以通过在浏览器中打开网址来显示。
快乐测试!
Llewellyn Falco