8

我是 Visual Studio 中单元测试的新手,我想加载一个物理 xml 文件。该文件作为内容在单元测试项目中,并被复制到输出目录中。

因此,当我编译项目时,xml 文件位于输出目录中。但是当我执行测试时,会创建一个包含所有依赖 DLL 的新目录,但不会复制 xml 文件。

执行测试需要 Xml 的内容。我执行此代码以检索执行文件夹中 Xml 文件的路径:

private static string GetXmlFullName()
{
    // GetApplicationPath use the current DLL to find the physical path
    // of the current application
    string executeDirectory = AssemblyHelper.GetApplicationPath();
    return Path.Combine(executeDirectory, "content.xml");
}

例外是:

System.IO.DirectoryNotFoundException: 'd:\***\solutiondirectory\testresults\*** 2012-06-13 17_59_53\out\content.xml'.

如何将此文件添加到执行文件夹中?

提前致谢。(对不起我的英语......)

4

2 回答 2

6

您需要在测试类上放置一个DeploymentItemAttribute 。

例如,包含 Data 文件夹中的所有文件

[TestClass()]
[DeploymentItem("Data")]
public class MyTestClass
{
    ...
}
于 2012-06-13T16:10:59.707 回答
0

正如 Matthew Lock 所提到的,我唯一需要做的就是在解决方案项目中的 Local.testsettings 中的 Deployment 下添加文件。

测试设置

于 2021-12-06T17:26:02.260 回答