gpt4 book ai didi

c# - 单元测试项目c#上的相对路径

转载 作者:可可西里 更新时间:2023-11-01 09:00:18 32 4
gpt4 key购买 nike

我有一个包含控制台应用程序和单元测试的解决方案。

var target = new Validator();
var targetFile = @"C:\Folder\SubFolder\AnotherSubFolder\Development\DEV\src\UnitTest\TargetFolder\file.xml";

bool actual = target.Validate(targetFile);
Assert.AreEqual(true, actual);

Validator 位于控制台应用程序项目中,而我的 file.xml 位于单元测试项目中的文件夹中。

这个单元测试通过了,但是我想确保当我将它 checkin 我的 tfs 或构建服务器时,它仍然可以找到我的 targetFile。

如何更改目标文件的路径?

提前致谢!

最佳答案

如果我理解你的问题是正确的,产品代码(在控制台应用程序中)依赖于测试项目中的项目是不好的,所以我建议你将 file.xml 移动到产品中代码项目。

要解决您的路径问题,我认为最好的方法是使用 Copy to Output Directory 属性作为Copy alwaysCopy if newer,您可以在 VS 属性窗口中找到它。

检查以下步骤。

  1. 如果需要,在产品项目中创建一个文件夹,放入file.xml(例如Data文件夹)。
  2. file.xml放入文件夹中。
  3. 转到 file.xml 的 VS 属性窗口。
  4. Build Action 设置为 None 并将 Copy to Output Directory 设置为 Copy alwaysCopy if较新的
  5. 构建并进行单元测试

    Assert.IsTrue(File.Exists(@"Data\file.xml"));

    在这种情况下,VS会自动在测试项目的输出文件夹下生成带有file.xml的数据文件夹。

关于c# - 单元测试项目c#上的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480500/

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