`DeploymentItem`属性是什么意思?

Nam*_* VU 5 c# attributes unit-testing

假设我们有一个简短的程序:

namespace ConsoleTryIt
{
    static class Program
    {
        static void Main(string[] args)
        {
            var sum = Add(1, 2);
        }

        private static int Add(int p, int p2)
        {
            return p + p2;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

为此类创建单元测试类时,Visual Studio将使用该属性创建一个测试方法DeploymentItem.我读过有关此属性的MSDN,但仍然没有得到它的含义.

/// <summary>
///A test for Add
///</summary>
[TestMethod()]
[DeploymentItem("ConsoleTryIt.exe")]
public void AddTest()
{
    var expected = 122;
    var actual = Program_Accessor.Add(1, 121);
    Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)

如果你明白了,请分享!

编辑

谢谢大家的回答.因此,我们的想法是将参数中给出的项目复制到测试环境的文件夹中.我的下一个问题是:为什么这个方法需要这个属性而其他方法不需要?
我想这与测试类中的私人成员有关,但对我来说并不清楚.

请继续讨论.

Pie*_*kel 9

这指定了特定测试所需的文件.测试系统创建一个运行测试的新目录.使用此属性,可以使测试系统将特定文件复制到该新目录.