【问题标题】:Visual Studio 2017: Run tests with Startup ProjectsVisual Studio 2017:使用启动项目运行测试
【发布时间】:2018-01-31 16:09:10
【问题描述】:

我有一个包含几个项目的解决方案,其中三个在点击Start 按钮时启动,它们是程序运行不可或缺的。我有一些测试,它们已被 Visual Studio 发现并位于 Test Explorer 面板中。

问题是:当我点击Test Explorer 面板内的Run All 按钮时,如何告诉Visual Studio 启动与我点击Start 按钮时相同的项目?

我可以看到它正在完成的唯一方法是使用*.testsettingsfile 来使用将运行项目的安装脚本,但这只是一种肮脏的方式。

有什么想法吗?

【问题讨论】:

  • 您为什么要这样做?测试应该是隔离的,你不应该依赖可执行文件来测试东西。
  • @JuanR 我可以看到需要为系统或集成测试执行此操作。如果他们需要产品运行才能对其进行测试。测试资源管理器运行的不仅仅是单元测试。

标签: c# visual-studio testing automated-tests


【解决方案1】:

打开两个 Visual Studio 应用程序,一个用于运行您的三个项目,另一个用于运行测试。但我认为只有功能/集成测试需要测试当前正在运行的执行。

【讨论】:

    【解决方案2】:

    对于需要运行主要可执行文件的系统测试,我过去完成此操作的方法是利用测试项目中的Assembly Initialize 并让它启动所需的 exe。

    我们有一个构建设置,将所有调试输出放到一个公共位置,因此我们可以找到合适的 exe,因为它与测试程序集位于同一路径中。

    [AssemblyInitialize]
    public static void AssemblyInitialize(TestContext context)
    {
        // Launch the exe here.
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      相关资源
      最近更新 更多