从Jenkins生成的msBuild代码运行nUnit测试

3

我的公司正在使用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文件夹中。而且bin文件夹的内容没有存储在Subversion中。因此,我不得不将nunit.framework.dll的副本放到 C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client 中,以便msBuild能够找到它。

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

我查看了许多帖子,但没有一个解决这个问题。

欢迎提出任何想法。 谢谢, Richard

2个回答

2

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

enter image description here


谢谢。那是一个标准设置,所以我已经设置好了。 - Richard210363

0
Subversion默认不会存储输出文件(例如dll)。我重建了项目并将nunit.framework.dll添加到Subversion中。这样它就可以由Jenkins弹出,并且随后可以被引用。

1
关于SVN存储的内容,它会存储你告诉它要存储的任何内容。如果.dll文件在你的svn ignore属性中,那么它们将被忽略。 - Dan McClain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接