导入visual studio单元测试的数据

eri*_*len 3 unit-testing visual-studio

如何在Visual Studio单元测试中使用外部数据文件?如果我尝试将其包含在测试项目中并将"复制到输出目录"设置为true,则仍然无法找到它.

我有的是:

[TestMethod]
public void DoMyTest() {
    using (StreamReader rdr = new StreamReader("MyTestData.txt")) {
        blahblah
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,该文件不存在,所以我得到一个例外.我的测试数据不能很好地映射到XML或CSV,因此使用DataSourceAttribute不是一个可行的选择.

Chr*_*all 6

将您的文件添加为资源,然后调用:

string myTestData = Project.Properties.Resources.MyTestData;
Run Code Online (Sandbox Code Playgroud)

除非文件是由另一个进程动态创建的,否则我将使用Visual Studio中的所有非可执行文本文件.就像从日志上掉下来一样.