gpt4 book ai didi

code-coverage - MSTest 代码覆盖率

转载 作者:行者123 更新时间:2023-12-04 06:06:40 25 4
gpt4 key购买 nike

我有一个 Web 服务的测试项目,当我在 Debug模式下运行测试时,一切正常。但是,当我刚刚运行测试时,对于我尝试获取代码覆盖率的引用程序集,我收到以下错误:

Class Initialization method WebServiceTest.wstest.MyClassInitialize threw exception. System.IO.FileLoadException: System.IO.FileLoadException: Could not load file or assembly 'TestAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=57f286581e1d278a' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A). Everything I found said to register TestAssembly in GAC. Is this what should I do? Why is it working in debug mode? Thank you

最佳答案

我遇到了同样的问题,下面的链接帮助了我...

http://weblogs.asp.net/soever/archive/2005/07/23/420338.aspx

VS.NET 2005:签名程序集的代码覆盖率我目前正在使用 VS.NET 2005 开发一个应用程序,并且因为所有 TDD 工具(如单元测试和代码覆盖率)都可用,所以我开始使用它们。

当我开始对已签名的应用程序进行代码覆盖时,出现以下异常:

测试方法 X 引发异常:System.IO.FileLoadException:无法加载文件或程序集“Y,版本=1.0.0.0,文化=中性,PublicKeyToken=Z”或其依赖项之一。 HRESULT:0x8013141A 强名称验证失败。 ---> System.Security.SecurityException:来自 HRESULT 的异常:0x8013141A 强名称验证在 X 处失败。

如果你仔细想想,这并不奇怪。程序集已签名,代码覆盖需要代码插桩,意味着修改程序集,导致程序集错误,因此验证失败。

解决方案是在检测后退出程序集。

如果您在解决方案项目中打开 localtestrun.testrunco​​nfig 文件(或类似文件)(双击它),您可以在代码覆盖率部分启用辞职。这样就解决了问题。

关于code-coverage - MSTest 代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2989037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com