Aar*_*ell 106 mstest visual-studio
我有一个测试,需要读入XML文件然后进行解析.如何将此文件每次复制到测试运行文件夹中?
XML文件设置为"如果更新则复制"和编译模式为"无"(因为它不是真正可编译的东西)
Pre*_*gha 128
using System;
using System.IO;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using CarMaker;
namespace DeploymentTest
{
[TestClass]
public class UnitTest1
{
[TestMethod()]
[DeploymentItem("testFile1.xml")]
public void ConstructorTest()
{
string file = "testFile1.xml";
Assert.IsTrue(File.Exists(file), "deployment failed: " + file +
" did not get deployed");
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 25
似乎如果您为解决方案提供TestSettings文件,那么您可以取消选中"启用部署"选项并阻止mstest尝试...TestResults\...\out从不复制您的额外文件的文件夹运行(除非您将它们作为部署选项) .
如果依赖于保留文件夹结构中的额外文件,这也很有用,因为如果使用TestSettings中的Deployment,Add Folder选项,则部署项似乎都直接(平面)复制到临时运行文件夹(out)中(上面的答案表明,如果将每个项目添加为自己的DeploymentItem,则可以保留结构.
对我来说,它直接在Visual Studio中运行良好的测试(即我的结构中的额外文件被测试找到并使用),因为我很久以前就已经创建了一个TestSettings文件(其中包含启用部署未选中),但是在TeamCity时没有运行mstest来运行测试,因为我没有指定应该使用TestSettings文件.
要在Visual Studio中创建TestSettings文件,请右键单击Solution并选择New Item,然后选择TestSettings模板.要在mstest.exe的命令提示符下使用TestSettings文件,请添加选项,/testsettings:C:\Src\mySolution\myProject\local.testsettings (或在TeamCity中添加为具有适当路径的额外命令行选项)
Preet答案用于为单个测试部署项目.如果要在解决方案级别执行此操作,请使用.testrunconfig设置.
对我来说最好的解决方案是使用测试设置,特别是如果多个测试需要相同的数据文件。
首先创建一个testsettings文件,并添加你需要的部署项(文件或文件夹名称):
<TestSettings name="Local" id="00ebe0c6-7b64-49c0-80a5-09796270f111" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Deployment>
<DeploymentItem filename="Folder1\TestScripts\test.xml" outputDirectory="TestScripts"/>
<DeploymentItem filename="Folder2\TestData\" outputDirectory="TestData"/>
</Deployment>
<...../>
Run Code Online (Sandbox Code Playgroud)
在 Visual Studio 中运行,使用“测试\测试设置”菜单中的“选择测试设置文件”来选择新的测试设置
运行 mstest,使用 /testsettings 参数让 mstest 使用您的测试设置。
| 归档时间: |
|
| 查看次数: |
35353 次 |
| 最近记录: |