2017-08-25 90 views
0

我有我使用的练习部署到Azure的为什么我的NUnit Assert在部署到Azure时失败?

位于测试项目: https://github.com/EdLichtman/HelloAzureCI

当我使用ReSharper的运行NUnit的测试中,他们都通过除环境特定的测试用例,这应该是可以预料的。

然而,当我在我的本地计算机上,运行deploy.cmd所有4次测试失败,因为“对象引用不设置到对象的实例。”

我的单元测试之一是“Assert.AreEqual(1,1)”,并引发一个nullReference异常,这导致我认为Assert不是一个对象的实例。

这是为什么这样的问题?其他人可以重新创建吗?

回答

2

这里有一些奇怪的事情,但最主要的是,你正在尝试运行NUnit的使用NUnit的V2控制台亚军(2.6.2)3.7.1测试。这是永远不会工作。我的建议是,无论您在远程环境中运行NUnit还是使用第三方运行程序时遇到问题,都可以回到本地使用控制台运行程序。即使这不是您喜欢的工作模式,但如果您尽可能多地消除中间商,您通常可以更轻松地找出问题所在。

如果你真的想下vsconsole运行,那么你需要它在你的命令行的位置安装nunit3-VS-适配器NuGet包和点。请注意,即使是我们的适配器也是另一个中间人,所以使用nunit3控制台进行调试仍然是一个不错的选择。

+0

所以你是说我逃避net35而不是vs.console.exe命令?我应该指出哪个命令的位置? – user3654055

+0

我不完全知道你是在暗示,(你可以在暗示我结束了与解决方案),而是因为你说的对TestAdapter什么的,我加了.runsettings文件vs.console.exe结束命令,方法是添加/ Settings:“%DEPLOYMENT_SOURCE%\。runsettings”并指向TestAdapterPaths中的适配器。我仍然遇到Azure环境问题,但在我的本地机器上,我的测试通过了!谢谢! – user3654055

+0

您链接的项目有NUnit 3.7.1框架的参考。 输出表明您正在运行NUnit 2.6.2控制台。 任何NUnit V2控制台运行器(2.0-2.6.4)都无法正确执行针对NUnit 3.0或更高版本框架构建的测试。 – Charlie