gpt4 book ai didi

C# DeploymentItem 无法为 MSTest 单元测试复制文件

转载 作者:可可西里 更新时间:2023-11-01 09:05:54 26 4
gpt4 key购买 nike

当我在 MSTest 单元测试中使用 DeploymentItem 属性时,我无法将 XSL 文件复制到与测试程序集相同的目录。我遵循了 this question 的选择答案我需要复制的文件将其“复制到输出目录”设置为“始终复制”。当我检查我的 ProjectDir\bin 目录(目标目录)时,我想要复制的文件确实在那里,还有 DLL 和 PDB。

我有几个具有以下设置的单元测试:

private const string DLL = "Service.dll";
private const string XSL_PATH = "transform.xsl";

[TestInitialize]
public void InitializeTest()
{
Assert.IsTrue(File.Exists(DLL)); // passes
}

[TestMethod]
[DeploymentItem(DLL)]
[DeploymentItem(XSL_PATH)]
public void XmlToResultsTest()
{
Assert.IsTrue(File.Exists(XSL_PATH)); // fails
}

XSL 测试失败,因为当我检查 MSTest 的 TestResults\particularTestRun\Out 目录时,我看到了 DLL 和 PDB,但我的 XSL 文件不在那里。我想知道的是,为什么即使我通过 DeploymentItem 明确告诉 Visual Studio 将其复制到那里,XSL 文件也不会与 DLL 和 PDB 一起复制?

最佳答案

感谢Marc Gravell's answer对于我的一个相关问题,我尝试更新我的 MSTest .testrunco​​nfig 文件,以便我的 XSL 文件包含在“部署”部分中。这让我的单元测试通过了,但我仍然对我必须这样做感到不安—— DeploymentItem 的组合不应该在我的项目中标记文件的属性以复制到输出目录够了吗?

关于C# DeploymentItem 无法为 MSTest 单元测试复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134099/

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