What is the relative path root of DeploymentItemAttribute?

前端 未结 3 1387
清歌不尽
清歌不尽 2021-02-05 13:42

Using MSTest, what is the relative path root of the DeploymentItemAttribute.

3条回答
  •  北海茫月
    2021-02-05 13:46

    Per the MSDN page...

    Relative paths are relative to the RelativePathRoot setting found in the .testrunconfig file.

    That setting is, by default, the Solution directory. So, if you have this project structure

    SecretProject\
        ComponentA\
        ComponentA.Test\
            Resources\
                required.xml
            ComponentA.Test.csproj
            Tests.cs
        SecretProject.sln
    

    And you want to deploy required.xml, you're going to create a DeploymentItemAttribute like this

    [TestClass]
    public class Tests
    {
        [TestMethod]
        [DeploymentItem("ComponentA.Test\Resources\required.xml")]
        public void Test() 
        {
    
        }
    }
    

    It seems the file properties need to be set to 'Content' and 'Copy always' or 'Copy if newer'. There are advanced examples on this MSDN page.

提交回复
热议问题