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

bil*_*ard 5 c#

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

Path.Combine(Environment.CurrentDirectory, "../PDFs/template.pdf"); 
Run Code Online (Sandbox Code Playgroud)

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

Bra*_*NET 5

你不能。bin单元测试项目在其文件夹中具有引用的程序集的副本,并且不知道原始“源”位置(也不应该知道)。

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

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