【发布时间】:2021-04-22 19:48:25
【问题描述】:
我有一个具有以下结构的 Visual Studio c# 项目:
SolutionFolder
|-Folder1
|- Project1
|- TestProject1
|-Folder2
|- Project2
|- TestProject2
|-TaskFolder
|-file
...etc
其中一个管道任务在 SolutionFolder 下创建一个文件夹并在其中写入一个文件。 (即任务文件夹/文件)
当测试项目运行时,我想读取这个文件。 我在代码中调用 GetCurrentDirectory,在我的机器中这将返回 TestProject 文件夹的父级。即(Folder1)然后我可以转到父级(即SolutionFolder)和相关文件。 任务文件夹/文件
但是,当它在管道中运行时,GetCurrentDirectory 返回 a/1 并且父级是 a。所以我必须添加 1/s/SolutionFolder/TaskFolder/File 才能访问该文件。
是否有办法获取适用于 MsAgent 和本地计算机的文件夹起点。 即(获取 SolutionFolder)然后是 /TaskFolder/File。这样代码在这些环境下运行时都是一样的?
附:在本地运行时,文件需要手动放置在 /TaskFolder/File 中,因为这主要用于调试。
提前致谢。
【问题讨论】:
-
作为一种解决方法,您可以编写两个涉及读取文件的相同测试方法。在 testmethodA 中硬编码本地路径,并在 testmethodB 中使用管道路径。然后根据测试过滤器指定要运行的测试。关于测试过滤器,可以参考这个case。
-
感谢您的回复,您认为有两条路径并按照下面的 Giulio Vian 选择它是个好主意。我会试试的。
标签: c# azure-pipelines azure-pipelines-tasks