小编mic*_*oss的帖子

如何模拟 DragEventArgs

我正在尝试对从我的 ViewModel 调用的这个方法进行单元测试:

  public virtual string[] ExtractFilePaths(DragEventArgs dragEventArgs)
  {
     string[] droppedPaths = null;

     if (dragEventArgs.Data.GetDataPresent(DataFormats.FileDrop))
     {
        droppedPaths = dragEventArgs.Data.GetData(DataFormats.FileDrop, true) as string[];
     }

     return droppedPaths;
  }
Run Code Online (Sandbox Code Playgroud)

我将这种方法与 Caliburn 联系起来。我知道这是一个非常简单的方法,几乎​​只使用框架类,但我觉得它仍然需要测试。问题是,Moq 不能模拟 DragEventArgs。有没有办法解决这个问题,或者我不应该费心测试这种方法?

wpf unit-testing moq mocking

5
推荐指数
1
解决办法
1654
查看次数

Visual Studio代码覆盖率未显示所有程序集

我的.SLN文件中有20个项目.我正在通过Test Explorer运行我的单元测试并生成代码覆盖率.只有八个项目出现在报道中(见截图).我正在使用runsettings文件,其中我已注释掉所有<exclude>标记的内容,如下所示:

        <PublicKeyTokens>
          <!-- Exclude Visual Studio extensions: -->
          <Exclude>
            <!--
            <PublicKeyToken>^B77A5C561934E089$</PublicKeyToken>
            <PublicKeyToken>^B03F5F7F11D50A3A$</PublicKeyToken>
            <PublicKeyToken>^31BF3856AD364E35$</PublicKeyToken>
            <PublicKeyToken>^89845DCD8080CC91$</PublicKeyToken>
            <PublicKeyToken>^71E9BCE111E9429C$</PublicKeyToken>
            <PublicKeyToken>^8F50407C4E9E73B6$</PublicKeyToken>
            <PublicKeyToken>^E361AF139669C375$</PublicKeyToken>
            -->
          </Exclude>
        </PublicKeyTokens>
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么其他12个项目没有显示在覆盖结果中.有任何想法吗?

解决方案项目:

Visual Studio项目列表

代码覆盖率结果:

在此输入图像描述

code-coverage visual-studio-2012

4
推荐指数
2
解决办法
4306
查看次数