首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MSTest在VS2010中测试运行错误

用MSTest在VS2010中测试运行错误
EN

Stack Overflow用户
提问于 2010-05-03 22:17:02
回答 2查看 13.3K关注 0票数 10

当我运行我的单元测试时,所有的测试都通过了,但是不是“测试运行成功”或任何成功消息,我在小条中得到了“测试运行错误”,它告诉我我的测试有多少通过了,即使我的所有测试都通过了。

当我点击文本时,我被带到一个页面,它告诉我发生了以下两件事:

警告:测试运行部署期间的冲突:测试容器...\Booking.Web.Tests.dll直接或间接引用的部署项“...\Booking.Web.dll”不能部署到“Booking.Web.dll”,否则“...\Booking.Web.dll”文件将覆盖“...\Booking.Web.Tests.dll”直接或间接引用的部署项“...\Booking.Web.dll”。 错误:无法初始化ASP.NET项目“Booking.Web”异常:无法正确配置网站;获取ASP.NET进程信息失败。请求'http://localhost:54131/VSEnterpriseHelper.axd‘返回一个错误:远程服务器返回一个错误:(500)内部服务器错误。

我不明白它在抱怨什么。我该如何消除这些错误呢?

(供参考: Booking.Web是ASP.NET MVC 2项目,Booking.Web.Tests是测试项目,.是到我的环境中的项目的完整本地路径,在大多数情况下是指向Booking.Web项目中的/bin/debug/文件夹的)

更新:按照指示,我在事件查看器中查找更多信息。下面是我的发现:

3008已发生配置错误。 2010年8月5日2:26:15 2010年8月5日12:26:15 4ffbe9180c3d4c02adb9ac4d61dd0928 1 1 0 4484 bbf4-1-129177519750954331 完整 / D:...\Booking.Web\ AASLOEG 1876 WebDev.WebServer40.EXE 阿斯洛格\托马斯 ConfigurationErrorsException 无法加载文件或程序集“Ninject.Web.Mvc、Version=2.0.0.0、Culture=neutral、PublicKeyToken=79764a4ef1548af1”或其依赖项之一。强名称签名无法验证。程序集可能已被篡改,也可能是延迟签名,但没有使用正确的私钥进行完全签名。( HRESULT: 0x80131045除外) System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName (布尔型starDirective) System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()地址为 ( System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) at ( System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) at ...stack在荒诞中的痕迹。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-08 11:45:54

首先,您已经启用了代码覆盖。你可以读到这里关于这件事。所以单元测试没有问题。这是代码覆盖问题。

第二件事--这个警告没问题--没关系。

第三件事--这个错误--这是关键问题。

可能会有不同的问题--最常见的是您应该参考更多的程序集。要想确切地找到应该加载的内容,您必须转到事件查看器并查看Windows >Application

票数 9
EN

Stack Overflow用户

发布于 2012-01-17 23:06:29

我也有与MS相关的错误,抱怨DLL可以“覆盖部署项blah.dll”。

之所以发生这种情况,是因为我同时运行多个DLL的MS,如下所示:

代码语言:javascript
复制
mstest.exe /testcontainer:Tests.web.dll /testcontainer:Tests.svcs.dll /testcontainer:Tests.core.dll

当MS运行时,它尝试从测试中获取所有的输出DLL,并将它们放到测试运行的/Out目录中。在我的示例中,Tests.svcs.dllTests.core.dll都引用了相同的程序集(Core.dll),因此它尝试将该DLL复制两次到同一个位置(从而导致警告)。

为了解决这个问题,我分离了每个程序集的测试运行,为每个程序集提供了它自己的/Out文件夹,用于输出DLL的

代码语言:javascript
复制
mstest.exe /testcontainer:Tests.web.dll

mstest.exe /testcontainer:Tests.svcs.dll

mstest.exe /testcontainer:Tests.core.dll
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2761587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档