如何从单元测试中获取项目文件夹中的路径

时间:2016-12-30 19:17:09

标签: c#

我有一个单元测试项目和库项目。我想在库项目中使用pdf文件作为模板。当我使用Environment.CurrentDirectory时,我获得了单元测试项目的路径,但我想获取库项目的路径以引用pdf文件。

Path.Combine(Environment.CurrentDirectory, "../PDFs/template.pdf"); 

执行单元测试时,在库项目中获取文件路径的等效语句是什么?

1 个答案:

答案 0 :(得分:2)

你做不到。单元测试项目在bin文件夹和中有一个引用的程序集的副本,它不知道原始的“源”位置(也不应该)。

单元测试应该能够在真空中执行,而不是依赖文件系统中其他地方存在的东西(或者理想情况下完全不依赖于文件系统或其他外部资源)。

解决问题的唯一方法是确保将“template.pdf”复制到单元测试的输出目录中,可能需要进行构建后步骤。更好的方法是将模板包含在单元测试项目中。