TFS:如何在C#中引用输出目录

时间:2011-02-04 10:12:08

标签: c# .net unit-testing tfs

使用VS2010我有一个测试,它调用一个运行命令行命令输出文件的方法。

文件输出到: ... \ TestResults \ xxxxxx 2011-02-04 09_45_46 \ Out

我想测试文件是否已成功写入

有没有一种方法可以在没有硬编码的情况下引用这条路径?

5 个答案:

答案 0 :(得分:1)

我昨天必须这样做:

string outputDir = new DirectoryInfo(Assembly.GetExecutingAssembly().Location).Parent.FullName

答案 1 :(得分:1)

对不起,我现在找你了。

您可以使用Unit Test类附带的TestContext属性。 你有ResultDirectory,TestDir,TestDeploymentDir等属性......

如果你的TestClass中没有它,只需添加一个名为TestContext的公共TestContext属性。

最好只创建一个新的Unit Test类,看看它是如何使用的。

答案 2 :(得分:0)

您指的是路径中的xxxxxx 2011-02-04 09_45_46部分吗?您可以浏览...\TestResults\路径中的文件夹,获取最后一个文件夹(希望是您想要的文件夹),然后使用Path.Combine创建完整路径。然后,您需要做的就是检查文件是否存在。

答案 3 :(得分:0)

您可以在项目的构建事件中指定特殊变量。

以下是参考资料:Macros for Build Commands and Properties

我认为OutDir或TargetDir是您可能正在寻找的。

答案 4 :(得分:0)

另一个更强大的IMHO选项是提供命令行实用程序的输出路径,您可以将其指定为已知位置(即Path.GetTempPath或Path.GetRandomFileName)。这样,您就不会嵌入脆弱的测试运行依赖项。