【问题标题】:Running nUnit from code generated by msBuild out of Jenkins从 Jenkins 中的 msBuild 生成的代码运行 nUnit
【发布时间】:2011-05-13 16:49:00
【问题描述】:

我的公司正在使用 Jenkins 进行持续集成。 我们将代码保存在 Subversion 中。 我们用 C# 编写代码(我会,其他人使用 php)。

我遇到了一个问题,我在编译项目时无法让 nUnit 工作。

我的项目非常简单,只有一个类和几个 nUnit 测试。 在 Visual Studio 中工作正常。它可以构建,我可以运行 NUnit 控制台来测试代码。

我可以使用 Jenkins 从 Subversion 中提取项目 然后我可以使用 msBuild 构建代码。 但是,当我尝试从 NUnit 控制台运行 NUnit 时,我被告知 nunit.framework.dll 丢失。

nunit.framework.dll 位于 C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\framework

我认为它正在寻找项目引用的 nunit.framework.dll。将 NUnit 测试添加到项目中是必需的。

我注意到,从 Visual Studio 构建时,nunit.framework.dll 被复制到 bin 文件夹中。 我注意到在 Subversion 中没有存储 bin 的内容。 我不得不将 nunit.framework.dll 的副本放入 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Profile\Client 以便 msBuild 可以找到它。

使用 Jenkins 和 msBuild 时如何将 nunit.framework.dll 放入输出 bin 文件夹?

我浏览了许多帖子,但没有解决这一点。

欢迎提出任何想法。 谢谢, 理查德

【问题讨论】:

    标签: c# .net msbuild jenkins nunit


    【解决方案1】:

    在您引用 Nunit.Framework.dll 的测试项目中,右键单击它并选择属性(或按 Alt + Enter)并将 Copy Local 设为 True

    【讨论】:

    • 谢谢。这是一个标准设置,所以我已经有了。
    【解决方案2】:

    默认情况下,Subversion 不存储输出文件(即 dll)。我重建了项目并将 nunit.framework.dll 添加到 subversion。这样它就会被 Jenkins 弹出并随后被引用。

    【讨论】:

    • 这对 SVN 来说是不真实的,它会存储你告诉它的任何内容。如果 .dll 在您的 svn 忽略属性中,那么是的,它们将被忽略
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 2017-04-11
    • 2012-02-25
    相关资源
    最近更新 更多