问题标签 [nunit-console]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nunit - 如何让 CruiseControl.NET/nant 运行所有以 .Test 为后缀的 Unittest 项目?
在我们的持续集成设置中,我想设置 CruisControl.NET 来自动运行我们所有的单元测试。但是,我不想在配置中单独指定每个 unittest dll。
所有单元测试项目都带有后缀.Test
(所有非单元测试项目都没有)。如何配置 CruiseControl.NET 以运行这些项目中的所有单元测试(我使用的是 CruiseControl.NET v1.5.7256.1)?
我当前的配置尝试:
我发现很难找到有关此特定 nunit 元素的文档。我能找到的大多数页面都在谈论使用exec、nunit2或其他nunit元素或nunit-console 命令行选项。
我在管理构建环境方面没有太多经验,并且正在处理现有配置,其中每个程序集都以下列方式单独指定。
因此,我尝试使用通配符失败。
编辑:
这是我的配置文件的一些额外 xml,用于稍微显示上下文:
在 Mightmuke 的建议之后,我尝试用<nunit>
他的建议替换元素,但得到以下异常:Unable to instantiate CruiseControl projects from configuration document. Configuration document is likely missing Xml nodes required for properly populating CruiseControl configuration. Unable to load array item 'property' - Cannot convert from type System.String to ThoughtWorks.CruiseControl.Core.ITask for object with value: ""
然后我尝试将<property>
and元素移到<foreach>
元素之外。然后我得到了异常:Unused node detected: <property name="nunit.filelist" value="" />
我现在正试图找出有关该<foreach>
元素的更多信息以及我可以把它放在哪里,但不知何故,我发现很难找到任何关于它的文档。
编辑2:
我找到了我正在使用的 nunit 任务的文档:http: //ccnet.sourceforge.net/CCNET/NUnit%20Task.html
我将元素指定为 String[] 类型。我不确定这意味着什么......但从示例中可以看出它只是意味着它必须包含单数形式的同名子元素列表。
PS:我意识到这个问题有点失控......当整个事情解决后,我会尝试以这种格式编辑它,以便以后对其他人有用。
testing - 从命令行运行 nunit-tests
尝试运行nunit-console Testsuite.sln时得到以下输出
有什么建议么?在单声道开发中从 testrunner 运行测试没有问题。
nunit - 使用 Gallio 运行 nunit 测试(x86)
我正在尝试使用 Gallio 运行 nunit 测试。
这些测试使用 nunit-console-x86.exe 运行
当我使用 nunit-console.exe 运行它们时,我得到 System.BadImageFormatException
运行 Gallio.Echo.exe(从 gallio.org 安装 x86 包),我得到了同样的异常。有没有办法让 Gallio 使用 nunit-console-x86.exe?
我正在运行命令 "C:\Program Files (x86)\Gallio\bin\Gallio.echo.exe" /r:IsolatedProcess "C:\projectdata.Tests.dll"
我收到了这个异常:消息 System.BadImageFormatException : 无法加载文件或程序集 'projectdata, Version=8.2.0.17, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。试图加载格式不正确的程序。
更新:我发现这是因为我有 project.dll(x86) 和 project.test.dll(Any CPU)。
关于如何让gallio.echo为此工作的任何想法?是否可以获得 Gallio.Echo-x86.exe?
jenkins - Jenkins 生成 nunit 报告 nunit-report.xml
我已将 Jenkins 配置为运行 nunit-console,如下所述: 使用 Jenkins 执行 NUnit 和此处: 如何从 Jenkins 运行 NUnit 测试?
我添加了“执行批处理命令”作为构建步骤并输入了以下值:
每次我运行构建时,一切正常,直到它到达这个构建步骤,这条线出现并且它无限期地运行并且没有生成 xml 文件:
但是,当我执行时:
从命令提示符可以正常工作,xml文件生成正常。这里可能存在什么问题?
nunit - nunit-console“无法加载文件或程序集”使用 MySolution.sln
我将用于nunit-console
在我的解决方案中运行所有测试。
我这样做了:
nunit-x86.exe
所以,我决定尝试一下File > Open Project > MySolution.sln
,得到了这个:
发生了什么,我该如何解决?(无需维护 MySolution.nunit 文件)
更多信息
MyNamespace.Administration
甚至不是包含测试的 dll 之一,这意味着 nunit 无法尝试加载它以查找要运行的测试。知道这一点后,我编辑了由nunit-x86.exe
(MySolution.nunit) 创建的文件并删除了所有没有测试的 dll。果然,测试工作(在 gui 和控制台中)。这对我来说是不可接受的,因为这意味着我必须保留另一个配置文件。Nunit 支持 .sln 文件应该避免这种情况。- 我的测试使用 TestDriven.Net 运行良好(但我真的需要使用 nunit-console 运行它们)
我已经看过这个答案,但我无法理解融合日志查看器所说的内容。发布该日志会有所帮助吗?程序集绑定日志查看器,列出了正在创建的 3 个文件:- nunit-agent-x86.exe,这个似乎试图
MyNamespace.Administration.dll/EXE
在 nunit 目录中找到 - Tests_24398275 x2 - 一个在我的项目文件夹中寻找 nunit.core,另一个在我的项目文件夹中寻找 unit.core.interfaces。我很少注意这两个,因为它们也出现在我手动编辑的 .nunit 项目中)。
- nunit-agent-x86.exe,这个似乎试图
- (根据 andreister 的评论)问题似乎出在项目/程序集本身而不是创建方法上。如果我创建一个 .nunit 项目并尝试添加
MyNamespace.Administration
到它(使用“添加程序集...”或“添加 VS 项目...”)它会失败。 - 直接调用就
nunit-console-x86 somepath/bin/Debug/MyNamespace.Administration.dll
可以了。
dotcover - Dotcover 报告 (nunit) 未涵盖程序集中的所有类。
Dotcover 报告 (nunit) 未涵盖程序集中的所有类。当我看到 Dotcover 使用 nunit-console.exe (2.4.1) 生成的报告时,我发现程序集中只有几个类,但不是全部。
c# - 在 Nunit 控制台运行器中使用类别表达式
使用 /include 或 /exclude 语句时,我正在阅读有关类别表达式的此链接。我希望能够仅包含运行测试以用完两个可用测试或运行所有测试但使用 /include:A+B 或 /exclude:A。但是,由于某种原因,它显示了错误的要运行和/或不运行的测试数量。这是为什么?
谁能给我提供一个关于如何对表达式进行分类(通过操作源代码)并添加如何在控制台中运行命令的示例?
基本上我所做的是:
我的命令行语句是 nunit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass.AddTest C:~\NUnit_Application\NUnit_Application\NUnit_Application.Test\bin\Debug\NUnit_Application.Test.dll /include:"数学A"
问题是,控制台熟悉命令的含义,它说它包括数学 A 类别。但是,它显示零测试已运行且零测试尚未运行。
我正在运行控制台运行器 NUnit 2.6.2。
c# - Nunit 2.6.2 中的异步测试挂起
我在下面有这个简单的测试方法。
测试类看起来像这样
我使用以下命令在 Nunit 2.6.2 中运行测试。
nunit-console.exe EightBall.dll /framework:net-4.5
但是,测试似乎没有返回并永远挂起。是否有一种特殊的方法可以使用 Nunit 2.6.2 运行异步测试。我认为使用 Nunit 2.6.2 支持异步
serialization - NUnit 控制台无法加载程序集以进行序列化测试
错误信息:
System.Runtime.Serialization.SerializationException:找不到程序集“MyCompany.Plates,版本=12.15.0.0,文化=中性,PublicKeyToken=0b9f95a95d107d22”。+++++++++++++++++++ 堆栈跟踪:在 System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
有两个DLL文件:
PlatesTests.dll和MyCompany.Plates.dll
测试都在PlatesTests.dll
. 被序列化的对象位于MyCompany.Plates.dll
.
当通过传递PlatesTests.dll
to运行时nunit-console.exe
,一切都会过去。
但是,我们的构建系统使用 .nunit 文件,如下所示:
当针对这个 .nunit 文件运行 nunit-console 时,它会给出上述错误。
我该如何解决这个问题?
nunit - 使用通配符从控制台忽略 NUnit 测试
在基于通配符的命令行运行 NUnit 时,有没有一种方法可以忽略单元测试?
比如说我不想运行任何以 IntegrationTest 结尾的测试?在那种情况下,我想说忽略所有包含*IntegrationTest*