TFS 生成 - 将 MSBuild 项目值发送到 vstest 运行时

TFS Build - Sending MSBuild Proj Values into the vstest runtime

本文关键字:vstest 运行时 项目 生成 MSBuild TFS      更新时间:2023-10-16

我们有在 TFS 生成过程中生成和运行的单元测试。 这是一个非常大的项目,具有复杂的构建时间。 msbuild .proj 文件中使用的参数会向下传递到子项目等。

有时,单元测试运行时需要其中一些 .proj 参数(只能在生成时知道(才能正常运行。

我的前任通过在单元测试项目的 vcxproj 文件中使用构建后事件(例如 ECHO SomethingINeedToKnow=True>> somefile(在构建时创建一个文件来管理这一点。

然后在运行时,AssemblyInitialize 事件上的单元测试 dll 查找此文件并分析所需的值,将它们注入测试运行时。 这真的非常巧妙。

但是,高级架构师不喜欢黑客攻击,如果可能的话,他们希望一切都以Microsoft的方式完成。

所以我的问题是:有一种原生的、Microsoft认可的方式来将 vcxproj 在构建时继承的值传递到单元测试运行时?

我认为答案是否定的,目前的解决方案是最好的解决方案,但我想确定一下。

附言被测试的代码通常是非托管C++,单元测试项目C++ using namespace Microsoft::VisualStudio::TestTools::UnitTesting托管(我相信 10.0(

我知道向

测试提供运行时参数可以通过 VNEXT 构建来实现。不确定如何将 proj 值发送到 vstest 运行时。