gpt4 book ai didi

unit-testing - 使用 MSBuild 从 .proj 文件运行单元测试

转载 作者:行者123 更新时间:2023-12-05 01:08:55 25 4
gpt4 key购买 nike

我想使用 MSBuild 运行单元测试。这是我今天调用 msbuild 的方式:
msbuild MySolution.sln
相反,我想使用一个名为“MyBuild.proj”的 MSBuild 项目文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5" DefaultTargets="Build">
<Target Name="Build">
<ItemGroup>
<SolutionToBuild Include="MySolution.sln" />
<TestContainer Include="..\Output\bin\Debug\*unittests.dll"/>
</ItemGroup>
</Target>
</Project>

然后调用这个命令行:
msbuild MyBuild.proj
出于某种原因,当我这样做时,命令会立即成功并且构建甚至不会发生。我担心我一定会错过一些非常明显的东西,因为我是 MSBuild 的新手。

我想我真的有两个问题:
  • 为什么这甚至没有构建我的解决方案
  • “TestContainer”元素是否适合执行我的测试

  • 谢谢!

    最佳答案

    你还没有提供任何任务来实际做任何事情,
    在您的构建目标中,您需要调用 msbuild 任务,您的示例变为:

    <Target Name="Build">
    <ItemGroup>
    <SolutionToBuild Include="MySolution.sln" />
    <TestContainer Include="..\Output\bin\Debug\*unittests.dll"/>
    </ItemGroup>
    <MSBuild Projects="@(SolutionToBuild)"/>
    </Target>

    这指定了您实际希望 msbuild 构建哪些项目。
    见: http://msdn.microsoft.com/en-us/library/vstudio/z7f65y0d.aspx有关更多详细信息及其所需的参数。

    那是第一部分。

    至于第2部分?你用的是什么测试框架?如果使用 mstest id 尝试将命令行 mstest.exe 包装在 msbuild exec 语句中以使其运行并执行测试。在此处查看示例: http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/cb87a184-6589-454b-bf1c-2e82771f c3aa

    关于unit-testing - 使用 MSBuild 从 .proj 文件运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428395/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com