无法使用假货调试单元测试用例

Unable to debug unit test cases using fakes

我在

中使用单元测试项目以及 MS Fakes 模拟框架

Visual Studio 高级 2013 更新 4

。当我 运行 我的测试在 visual studio 时它工作正常,但是当我尝试调试单元测试用例时它失败并出现以下错误:

Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to resolve profiler path from COR_PROFILER_PATH and COR_PROFILER environment variables.

我试过以下方法:

  1. 特定版本为 false [无效]
  2. 删除所有假货,清理,构建并重新添加[未工作]
  3. 添加了 System 和 mscorlib fakes [无效]

编辑:

[TestMethod]
public void LoginResponseTest()
{
    using (ShimsContext.Create())//Getting error here in case of debug test
    {

      var stub = new StubISimpleHttpService();
      stub.SendPostRequestStringParameterCollection = GetLoginResponse;
      MyAPIConnector connector = new MyAPIConnector();
      uint response = connector.login("test_username", "test_password");

      Assert.IsTrue(response == 0);                
    }    
}

有什么解决办法吗?

我已经将我需要存根的接口添加到假货的设置中。例如:

<StubGeneration>
  <Clear/>
  <Add Interfaces="true" FullName="ISimpleHttpService"/>
</StubGeneration>
<ShimGeneration>
  <Clear/>
  <Add FullName="HttpResponse"/>
</ShimGeneration>

解释: 我们只需要添加那些被单元测试假货使用的假货 dll。我们需要将 StubGeneration 标签添加到 xml 文件。这些标签取决于单元测试用例使用的 类。