我们在TFS Build process期间构建并运行了单元测试。这是一个非常大的项目,具有复杂的构建时间。 msbuild .proj文件中使用的参数传递给子项目等。
有时单元测试运行时需要其中一些.proj参数(只能在构建时知道)才能正常运行。
我的前任通过在单元测试项目的vcxproj文件中使用构建后事件(例如ECHO SomethingINeedToKnow = True>> somefile)在构建时创建文件来管理此事。
然后在运行时,AssemblyInitialize事件上的单元测试dll查找此文件并解析所需的值,并将它们注入测试运行时。它非常巧妙。
然而,高级架构师不喜欢黑客,他们希望一切都以微软的方式完成,如果可能的话。
所以我的问题是这样的:我有一种原生的,微软认可的方法,可以在构建时将vcxproj继承的值传递给单元测试运行时吗? < / p>
我认为答案是否定的,目前的解决方案是最好的解决方案,但我想确保。
P.S。正在测试的代码通常是非托管C ++,单元测试项目是托管C ++ using namespace Microsoft::VisualStudio::TestTools::UnitTesting
(我相信10.0)