【问题标题】:VS2010 Execute unit test (bug)VS2010 执行单元测试(bug)
【发布时间】:2012-03-28 23:14:51
【问题描述】:

当我单击我的单元测试并在上下文菜单中执行“执行测试”时。测试结果不会启动好的测试,就像它不会看到我的新测试并一次又一次地重新启动我的上一个测试。我的配置有什么问题。

有人遇到同样的问题吗?

【问题讨论】:

  • 您是否尝试过清理和重建您的项目?

标签: visual-studio visual-studio-2010 unit-testing mstest


【解决方案1】:

我在常规项目中遇到了类似的错误。假设我在 VS 的文本编辑器中有一个打开的文件,该文件属于项目 A,它是一个 dll。然后我右键单击项目 B,它是一个 exe,然后选择 Debug->Start New instance。有时(并非总是),VS 会尝试启动项目 A,所以我收到类似“无法启动具有类库输出类型的项目”的错误。

发生这种情况时,我从项目 B 打开一个文件,并在启动项目 B 时将其保持为活动文件。这样可以解决问题。因此,请尝试从您要运行的测试中打开一个文件,并在您从上下文菜单运行它时保持它处于活动状态。我猜这个错误也会影响测试的执行。本来想提交bug报告的,但是懒了...

【讨论】:

    【解决方案2】:

    Visual Studio 通常对新测试非常善变。有一个配置设置(工具 -> 选项)确定 IDE 是否应该在编写新测试时选择它们,但是它有点像性能猪,因此默认情况下禁用该设置。

    Visual Studio 依赖 VSDMI 文件来表示有关解决方案中测试的元数据。此文件通常在编译解决方案时更新,尽管有时解决方案范围的分析不运行或无法发现新测试。如果此文件不同步或您尝试运行的测试尚未在 VSDMI 中,则“在当前上下文中运行测试”功能无法按预期工作。有时它会运行一个 neaby 测试,有时它会运行所有测试。

    要解决此问题,请启用新测试的后台发现,或打开测试列表编辑器视图并单击其工具栏中的刷新图标。刷新图标强制快速重新编译和更新 vsdmi。

    【讨论】:

      【解决方案3】:

      我发现,当您添加新测试时,用于运行测试的上下文菜单选项很少按预期运行。但是,键盘快捷键的效果要好得多。 Control-R, T 在“当前上下文”中运行测试。如果您的光标位于测试方法中,它将运行该方法。如果它在测试类中,它将运行该类中的所有测试。如果它在一个类之外,我相信它会在程序集中(或者可能是命名空间)运行所有测试。还有更多快捷方式here。请注意,Control-R、Control-T 在调试器中运行“当前上下文”测试,这也很有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-18
        • 2011-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 1970-01-01
        相关资源
        最近更新 更多