我有一个单元测试项目和库项目。我想在库项目中使用pdf文件作为模板。当我使用Environment.CurrentDirectory时,我获得了单元测试项目的路径,但我想获取库项目的路径以引用pdf文件。
Path.Combine(Environment.CurrentDirectory, "../PDFs/template.pdf");
执行单元测试时,在库项目中获取文件路径的等效语句是什么?
答案 0 :(得分:2)
你做不到。单元测试项目在bin
文件夹和中有一个引用的程序集的副本,它不知道原始的“源”位置(也不应该)。
单元测试应该能够在真空中执行,而不是依赖文件系统中其他地方存在的东西(或者理想情况下完全不依赖于文件系统或其他外部资源)。
解决问题的唯一方法是确保将“template.pdf”复制到单元测试的输出目录中,可能需要进行构建后步骤。更好的方法是将模板包含在单元测试项目中。