如何保存我的电子邮件 - 团队服务
How to save my Email Messages - Team Services
我已经编写了一些集成测试(使用 XUnit)来测试 SmtpClient
。基本上我在 app.config
中覆盖它
configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="F:\EmailTests\"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
现在很明显,由于以下参考,此测试在团队服务上失败了:
E:\EmailTests
此外,此覆盖不包括相对路径。
在构建过程中我需要保存数据的 TFS 中应该如何处理这些场景?
您需要将 EmailTests
文件夹作为 Visual Studio 中单元测试项目的一部分,并将 Copy Local
属性 设置为 True
。这样做为您提供了两个选择:
由于该文件夹已经是您的代码库的一部分,因此在开始构建之前,VSO 会检查它。然后,如果您需要在其中一个构建任务中访问它,您可以使用预定义的构建变量 Build.SourcesDirectory
并将其与您的文件夹名称组合,如下所示。您也可以在配置文件中使用它,替换硬编码的 F:\EmailTests\
.
$(Build.SourcesDirectory)\EmailTests\
或者,您可以使用另一个 VSO 预定义变量 Build.BinariesDirectory
访问此文件夹。但是,这只有在单元测试项目的构建完成后才有用。
Here 是针对类似问题的所有预定义 VSO 变量的 link。
我已经编写了一些集成测试(使用 XUnit)来测试 SmtpClient
。基本上我在 app.config
configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="F:\EmailTests\"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
现在很明显,由于以下参考,此测试在团队服务上失败了:
E:\EmailTests
此外,此覆盖不包括相对路径。
在构建过程中我需要保存数据的 TFS 中应该如何处理这些场景?
您需要将 EmailTests
文件夹作为 Visual Studio 中单元测试项目的一部分,并将 Copy Local
属性 设置为 True
。这样做为您提供了两个选择:
由于该文件夹已经是您的代码库的一部分,因此在开始构建之前,VSO 会检查它。然后,如果您需要在其中一个构建任务中访问它,您可以使用预定义的构建变量
Build.SourcesDirectory
并将其与您的文件夹名称组合,如下所示。您也可以在配置文件中使用它,替换硬编码的F:\EmailTests\
.$(Build.SourcesDirectory)\EmailTests\
或者,您可以使用另一个 VSO 预定义变量
Build.BinariesDirectory
访问此文件夹。但是,这只有在单元测试项目的构建完成后才有用。
Here 是针对类似问题的所有预定义 VSO 变量的 link。