【问题标题】:How to execute code before MSTest TestContext is set如何在设置 MSTest TestContext 之前执行代码
【发布时间】:2017-03-30 17:24:52
【问题描述】:

对于我们的数据驱动测试,我们使用 Excel 文件作为数据源。 现在,由于 Excel 文件是二进制数据,我们对 git 感到很头疼(无法区分、文件被覆盖,并且由于实际上多次更改的不正确的测试数据而隐含了很多误报)。

所以,为了克服这个问题,我认为我们可以使用 Google Drive 来存储数据源,并且每次都下载将要使用的 Excel 文件。

现在的问题是 TestContext 在我从 Google Drive 下载数据源之前设置在 AssemblyInitialize 中,因此无法找到它。

是否有可能在与测试相同的程序集中确定数据源的下载? 我知道我可以在执行测试程序集之前创建一个新的解决方案将其设置为构建任务,但是如果可能的话,我正在寻找一些简洁的东西。

编辑: 我尝试使用选项创建一个新的控制台应用程序项目,该项目将作为构建任务运行并在执行测试之前下载 Excel 文件。

但是,似乎由于 Excel 文件没有被添加到解决方案中,它没有被Datasource 属性拾取。

【问题讨论】:

  • 怎么样:ClassInitialize,否则构建步骤对我来说是个不错的选择。 stackoverflow.com/questions/25406335/… 取决于数据更改的频率 - 也许您可以对其进行硬接线...但这当然会导致维护困难...

标签: c# mstest data-driven-tests testcontext


【解决方案1】:

因此,使其工作的唯一方法是创建一个新的控制台应用程序项目,该项目作为预构建任务添加到数据驱动测试项目中。

至少这是最初的方法,因为它导致我们的解决方案有额外的 1-2 分钟(取决于网络流量)。

所以我结束了在构建系统中创建一个新的构建任务来处理这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-01
    • 2014-08-06
    • 1970-01-01
    • 2019-03-26
    • 2016-12-25
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多