我最近安装MbUnit版2.4.2.355在我们建立服务器运行,通过巡航Control.NET 和NAnt,在Windows服务器2003机。净框架3.5sp1的安装。

我已经检查了每一个角落的建立脚本,而NAnt输出的报告CC.NET 告诉我,该试验项目建立的罚款。

这是NAnt脚本:

<target name="compiletests" description="Compiles unit tests separately">
    <exec program="${netframework.dir}\msbuild.exe">
        <arg line="C:\dev\PROJ3.1\trunk\src\PROJ\Customer\CustomerUnitTests\Company.CustomerUnitTests.csproj  /t:Rebuild /p:Configuration=Debug"></arg>
    </exec>
</target>

和输出是ff:

[执行]的公司。CustomerUnitTests-> C:\dev\PROJ.1 runk\src\PROJ\Customer\CustomerUnitTests\bin\Debug\Company.CustomerUnitTests.dll [执行]完成建筑项目 "C:\dev\PROJ.1 runk\src\PROJ\Customer\CustomerUnitTests\Company.CustomerUnitTests.csproj" (重建目标(s))。[执行]建立 成功。[执行] "C:\dev\PROJ3.1 runk\src\PROJ\Customer\CustomerUnitTests\Company.CustomerUnitTests.csproj" (重建目标)(1)->

这是什么意思的是,建立该单元的测试会成功。

事实是,在结束NAnt产出是:

mbunit-测试:[mbunit]MbUnit 2.4.2.355测试运行程序[mbunit]没有测试程序集中发现的测试

我已经走了,控制台,并尝试使用MbUnit.Cons.Exe 手动试验的汇编大会。结果是这样的:

  • 测试的集成使用Windows XP SP3机进行了适当的确认和测试,正在正常运行,在我的机器,并在任何其他开发机对这一问题。
  • 试组建的在建立服务器运行Windows服务器2003年没有被承认为试验组件;我试图复制这些文件到我的XP机和它们不是承认的。

我现在想知道:之间的区别是什么一个测试会和非测试会?我肯定有东西做的 TestTestFixture 属性,但在我的情况下,为什么大会编WinXP机编译为测试,以及这些汇编的Win2K3机不承认?

希望有人有一个线索在这。

有帮助吗?

解决方案

第一,所有检查 这个问题.
如果这个没有帮助,你需要检查的目标的平台的项目(项目的性质,建立)以"任何CPU".在此之后试图开会,这是产生于你的生成计算机使用反射器。可能产生的文件已损坏。并且还能不能请你尝试建立的项目使用手动VS和负荷所产生的测试MbUnit.

其他提示

没有根本区别是否有任何特定组件被认为是一个测试会。

我的猜测是,开发计算机运行的一个稍微不同的建立的MbUnit比你的建立服务器。MbUnit v2具有跨版本的兼容性问题,可能会导致它不承认测试适当地(因为它试图载的不同版本的框架会比安装)。

顺便说一句,这些问题已在很大程度上得到了解决在MbUnit v3。

如果你还没有这样做的话,你可能会发现它有助于安装一个复制的MbUnit在你源树。这将确保一个一致的版本总是到处都在使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top