如何在设置MSTest TestContext之前执行代码

时间:2017-03-13 10:03:36

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

对于我们的数据驱动测试,我们将Excel文件用于数据源。 现在,因为Excel文件是二进制数据,所以我们对git有很多麻烦(由于不正确的测试数据实际上已经多次更改,因此无法进行差异,文件被覆盖并且隐含了很多误报)。

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

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

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

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

但是,似乎由于Excel文件未添加到解决方案中,因此Datasource属性无法接收该文件。

1 个答案:

答案 0 :(得分:0)

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

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

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