gpt4 book ai didi

visual-studio-2010 - 如何在VS单元测试中包含样本数据文件?

转载 作者:行者123 更新时间:2023-12-03 14:03:34 25 4
gpt4 key购买 nike

我有要针对示例XML文件运行的单元测试,应该如何将这些文件暴露给单元测试?我曾尝试过使用内容构建操作,但是由于无法访问应用程序上下文,因此GetContentStream不在了。

我知道我可以对SQL数据库使用DataContext。但是我觉得这是错误的做法。

最佳答案

如果您希望通过测试部署XML文件,则有以下几种选择:

内嵌内容

您可以将Xml文件作为内容嵌入到程序集中。


将文件添加到您的测试项目。在此示例的上下文中,文件位于项目的根目录。
将该文件的属性更改为嵌入式资源。
在测试过程中,您可以使用get manifest resource以流的形式访问文件。


例:

[TestMethod]
public void GetTheFileFromTheAssembly()
{
Stream fileStream = Assembly.GetExecutingAssembly()
.GetManifestResourceStream("MyNamespace.File.xml");

var xmlDoc = new XmlDocument();
xmlDoc.Load(fileStream);

Assert.IsNotNull( xmlDoc.InnerXml );
}


DeploymentItemAttribute

您可以用 [DeploymentItemAttribute]注释测试方法或类。文件路径是相对于解决方案的。

[DeploymentItem("file.xml")] // file is at the root of the solution
[TestMethod]
public void GetTheFileDeployedWithTheTest()
{
var xmlDoc = new XmlDocument();
xmlDoc.Load("file.xml");

Assert.IsNotNull(xmlDoc.InnerXml);
}


测试设定

您可以使用“测试设置”文件中的“部署”配置来部署单个文件或整个目录。 (测试->编辑设置-> Filename.testsettings)

关于visual-studio-2010 - 如何在VS单元测试中包含样本数据文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5383987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com