如何让MSTest找到我的测试数据文件?

Joh*_*sen 28 teamcity mstest

我有一些测试需要从excel文件中提供外部数据.这些文件包含在测试项目中,在Visual Studio中,我编辑了测试设置文件(Local.testsettings)来部署数据文件.这使它工作正常我VS.

但是,我们也在与TeamCity进行持续集成,而在TeamCity中,这不起作用.我的数据文件不可用于测试.似乎测试是从名为"C:\ TeamCity\buildAgent\temp\buildTmp\ciuser_AS40VS6 2009-12-11 09_40_17\Out"的临时文件夹运行的,并且数据文件不会在那里复制.

我已经尝试将数据文件的构建操作更改为"资源"并将复制到输出目录设置为"始终",但这没有帮助.

有谁知道如何使这项工作?

我正在运行Visual Studio 2010 beta 2和TeamCity 4.5.5,这就是为什么我首先运行MSTest,而不是NUnit ...

Dan*_*ott 21

我通过将我的数据文件(在我的情况下通常是XML)添加为嵌入式资源来解决这个问题,并从测试程序集中提取它们.

[TestInitialize]
public void InitializeTests()
{
    var asm = Assembly.GetExecutingAssembly();
    this.doc = new XmlDocument();
    this.doc.Load(asm.GetManifestResourceStream("TestAssembly.File.xml"));
}
Run Code Online (Sandbox Code Playgroud)