NUnit-console 2.6.3有时会打印出以下错误消息,而不是运行测试.以下是我的Jenkins测试构建日志的摘录:
00:05:02.982 Process 'nunit-console-x86' [PID 3684] has begun profiling.
00:05:03.698 NUnit-Console version 2.6.3.13283
00:05:03.698 Copyright (C) 2002-2012 Charlie Poole.
00:05:03.698 Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
00:05:03.698 Copyright (C) 2000-2002 Philip Craig.
00:05:03.698 All Rights Reserved.
00:05:03.698
00:05:03.698 Runtime Environment -
00:05:03.701 OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
00:05:03.701 CLR Version: 2.0.50727.5485 ( Net 3.5 )
00:05:03.701
00:05:03.795 ProcessModel: Default DomainUsage: Single
00:05:03.795 Execution Runtime: net-3.5
00:05:33.886 Unable to locate …Run Code Online (Sandbox Code Playgroud) 我有一大堆NUnit测试; 我需要将给定运行的结果导入数据库,然后表征结果集并将其呈现给用户(电子邮件用于测试失败,Web表示用于检查结果).我需要随着时间的推移跟踪多次运行(报告故障率随着时间的推移等).
XML将是由nunit-console生成的XML.我想将XML简单地导入到某个数据库中,然后可以用来保存和显示结果.我们还将提供一些我们需要能够排序的自定义类别.
有没有人知道可以处理导入这种类型数据的数据库模式,这些数据可以根据我们的个人需求进行定制?这种类型的问题似乎应该是常见的,因此应该存在一个共同的解决方案,但我似乎无法找到它.如果有人之前已经实施过这样的解决方案,那么建议也会受到赞赏.
在使用/ include或/ exclude语句时,我正在阅读关于类别表达式的链接.我希望能够仅包括运行测试以用于两个可用的测试或运行所有测试但使用/ include:A + B或/ exclude:A.但是,由于某种原因,它显示了要运行和/或未运行的错误测试数.这是为什么?
任何人都可以提供一个关于如何分类表达式(通过操作源代码)并添加如何在控制台中运行命令的示例?
基本上我做的是:
using System;
using NUnit;
using NUnit_Application;
using NUnit.Framework;
namespace NUnit_Application.Test
{
[TestFixture]
[Category("MathS")]
public class TestClass
{
[TestCase]
[Category("MathA")]
public void AddTest()
{
MathsHelper helper = new MathsHelper();
int result = helper.Add(20, 10);
Assert.AreEqual(40, result);
}
[TestCase]
[Category("MathB")]
public void SubtractTest()
{
MathsHelper helper = new MathsHelper();
int result = helper.Subtract(20, 10);
Assert.AreEqual(10, result);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的命令行语句是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类.但是,它表明已经运行了零测试,并且没有运行零测试.
我正在运行NUnit 2.6.2,即控制台运行程序.
好的,这就是在OS X上使用Xamarin的事情
(.cs文件是一个非常简单的导致回溯的测试用例)
编译
mcs /debug /lib:~(...)NUnit-2.6.3/bin/framework/:~(...)NUnit-2.6.3/bin/lib/ -r:nunit.framework.dll test.cs
Run Code Online (Sandbox Code Playgroud)
运行
mono --debug /Users/thiago/qm/nunit/NUnit-2.6.3/bin/nunit-console.exe test.exe
Run Code Online (Sandbox Code Playgroud)
结果
1) Test Error : TestOne.testFirst
System.NullReferenceException : Object reference not set to an instance of an object
at TestOne.testFirst () [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
Run Code Online (Sandbox Code Playgroud)
如果我使用Xamarin提供的nunit-console,它可以工作,它不适用于几个库等(例如:Monitor和其他一些)
仅运行mono test.cs(导致堆栈跟踪)显示相应的行号.
我在Atlassian Bamboo中使用了NUnit Runner(最新版本)和NUnit 2,但在升级到NUnit 3之后它不再有效.NUnit 3中的命令行似乎发生了变化.任何人都知道如何让NUnit 3在Atlassian Bamboo中运行?或者,NUnit开发人员是否可以考虑向后兼容这一突破性变化?
我收到以下错误:
参数无效:-xml = TestResults-Rev_02f5436a0a70cd539bd3b77218fb48cbe3262954-Build_12.xml
我在使用命令行NUnit test runner运行测试时遇到问题.
我在x64机器上使用版本2.5.4与.NET 4.
使用以下行导致失败"无法加载文件或程序集'栏'或其依赖项之一.系统找不到指定的文件."
nunit-console-x86 foo.dll bar.dll /framework=4.0.30319
Run Code Online (Sandbox Code Playgroud)
如果我反转dll文件名,它抱怨没有找到'foo'而是...
如果我单独运行它们就可以了:
nunit-console-x86 foo.dll /framework=4.0.30319
Run Code Online (Sandbox Code Playgroud)
如果我运行,第二个文件的测试也可以:
nunit-console-x86 bar.dll /framework=4.0.30319
Run Code Online (Sandbox Code Playgroud)
在将项目升级到4.0之前,我们使用了NUnit 2.5.2和相同的命令行工具选项,此时转轮可以很好地处理多个程序集.似乎同时在多个文件上运行测试的能力被打破了......
任何可以看到相同行为或是否有效的人都表明我的环境在某种程度上被打破了?
/每
我为Xamarin项目编写了一些小的nunit测试.它们在我的Mac Mini(jenkins构建平台)的终端上运行得很好.当我在jenkins上运行相同的命令时,我遇到了一个我无法解释的奇怪错误.我已经尝试提供完整的文件路径并以root身份运行命令,但我仍然抛出此错误.如果有任何人有这方面的经验,将不胜感激.
构建过程的命令:
nuget restore CoreTests.sln
msbuild CoreTests.sln /t:Build
mono nunit3-console.exe CoreTests.dll
Run Code Online (Sandbox Code Playgroud)
错误输出:
NUnit Console Runner 3.7.0版权所有(c)2017 Charlie Poole,Rob Prouse
运行时环境操作系统版本:MacOSX 16.6.0.0 CLR版本:4.0.30319.42000
测试文件CoreTests/CoreTests/bin/Debug/CoreTests.dll
错误,失败和警告
1)错误:ApplicationName ='mono',CommandLine =' - runtime = v4.0.30319"/Users/falconbot/Documents/NUnit/nunit-agent.exe"8e81b5fe-8dba-4da0-8612-5c0cabe9d40f tcp://127.0 .0.1:55001/TestAgency --pid = 97532',CurrentDirectory ='',Native error =在<70507a44a84041d599bbfa8f3d0ea5b1>中的System.Diagnostics.Process.StartWithCreateProcess(System.Diagnostics.ProcessStartInfo startInfo)[0x002dc]中找不到指定的文件: 0在System.Diagnostics.Process.Start()[0x0003a]的<70507a44a84041d599bbfa8f3d0ea5b1>:0 at(wrapper remoting-invoke-with-check)System.Diagnostics.Process:Start()at NUnit.Engine.Services.TestAgency.LaunchAgentProcess (NUnit.Engine.TestPackage包)[0x002f2]在<1e8ad6af4c6f4686ad7e5f9e67020b3b>:0在NUnit.Engine.Services.TestAgency.CreateRemoteAgent(NUnit.Engine.TestPackage包,System.Int32 WAITTIME)[0x00000]在<1e8ad6af4c6f4686ad7e5f9e67020b3b>:0在NUnit.Engine.Services.TestAgency.GetAgent(NUnit.Engine.TestPackage包,System.Int32 waitTime)[0x00000] 在<1e8ad6af4c6f4686ad7e5f9e67020b3b>:0 at(wrapper remoting-invoke-with-check)NUnit.Engine.Services.TestAgency:GetAgent(NUnit.Engine.TestPackage,int)at NUnit.Engine.Runners.ProcessRunner.CreateAgentAndRunner()[0x0003d] in <1e8ad6af4c6f4686ad7e5f9e67020b3b>:0在<1e8ad6af4c6f4686ad7e5f9e67020b3b>中的NUnit.Engine.Runners.ProcessRunner.RunTests(NUnit.Engine.ITestEventListener监听器,NUnit.Engine.TestFilter过滤器)[0x0001f]:0
测试运行总结总体结果:失败测试次数:0,通过:0,失败:0,警告:0,不确定:0,跳过:0开始时间:2017-09-28 18:18:49Z结束时间:2017-09 -28 18:18:49Z持续时间:0.089秒
结果(nunit3)保存为TestResult.xml构建步骤'执行shell'将构建标记为失败
我有一个看起来像的测试用例:
namespace UnitTests
[<TestFixture>]
module ValidatorTests =
[<Test>]
let VerifyBasicFunctionality () =
Assert.That(bool)
Assert.That(bool)
Run Code Online (Sandbox Code Playgroud)
当我尝试在Visual Stuido测试资源管理器中运行它时,没有任何反应(即使使用NUnit 3的测试适配器),只是说"成功构建"并且没有发现任何测试.然后,当我从命令行运行nunit-console runner(尝试使用v.1,v.2,v.4)时,我得到了一些不同的东西:
$ nunit-console4 bin/Release/UnitTests.dll
NUnit version 2.4.8
Copyright (C) 2002-2007 Charlie Poole.
Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
Copyright (C) 2000-2002 Philip Craig.
All Rights Reserved.
Runtime Environment -
OS Version: Unix 15.6.0.0
CLR Version: 4.0.30319.42000 ( 4.4.2 (Stable 4.4.2.11/f72fe45 Thu Aug 11 06:03:25 BST 2016) )
.N.N.N
Tests run: 0, Failures: 0, Not run: 3, Time: …Run Code Online (Sandbox Code Playgroud) 我想在构建服务器上运行一些 nUnit 测试,而不必在那里安装 .NET Core SDK。
测试目标netcoreapp3.1.
对于 .NET Framework 可以使用 运行它们nunit-console-runner,但对于 .NET Core 似乎不可能 - 请参阅/sf/answers/3699839391/。
如果发现这个问题https://github.com/Microsoft/vstest/issues/1224,但它似乎没有提供任何合理的解决方案。
Following situation:
I have a third party tool which executes the nunit-console.exe to run unit tests. I've switched the tests to dot net 5.0 as this is a new requirement in our company. Now when I run the nunit-console.exe (Version: NUnit Console Runner 3.12.0-beta2) in the console the same way the third party app does I get this error:
>E:\Nunit\netcoreapp3.1\nunit3-console.exe "C:\Tests\bin\Debug\net5.0\Tests.dll"
it was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '3.1.0' was not found.
- …Run Code Online (Sandbox Code Playgroud)