C# nunit控制台赢得';不要运行任何测试
我正在通过Mono测试.Net生态系统,但我遇到了NUnit的问题。我有以下示例测试文件:C# nunit控制台赢得';不要运行任何测试,c#,mono,nunit,C#,Mono,Nunit,我正在通过Mono测试.Net生态系统,但我遇到了NUnit的问题。我有以下示例测试文件: using NUnit.Framework; namespace Tests { [TestFixture] class Tests { [Test] public void FailingTest() { Assert.Fail("A message"); } [Test]
using NUnit.Framework;
namespace Tests
{
[TestFixture]
class Tests
{
[Test]
public void FailingTest()
{
Assert.Fail("A message");
}
[Test]
public void PassingTest()
{
}
}
}
我正在通过以下方式构建和运行:
cweber@mbp ~/temp/monoexample$ dmcs tests.cs -target:library -r:$NUNIT_FRAMEWORK_DLL
cweber@mbp ~/temp/monoexample$ ls tests.dll
tests.dll
cweber@mbp ~/temp/monoexample$ nunit-console tests.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 14.5.0.0
CLR Version: 4.0.30319.17020 ( 4.2.1 (explicit/6dd2d0d Fri Nov 6 12:25:19 EST 2015) )
.N.N
Tests run: 0, Failures: 0, Not run: 2, Time: 0.014 seconds
如您所见,两个测试都没有运行
我已经在谷歌上搜索了我能想到的一切,并且我已经做了我能想到的所有实验(例如,删除名称空间,搞乱fixture
和run
标志,等等)。我已经尽可能地简化了这个例子,但是我已经没有什么想法了。请让我知道,如果我可以提供更多的信息
如果答案是显而易见的,我很抱歉问这个问题。查看您的
TestResult.xml
文件,您将看到原因:类不是公共的;-)
查看您的
TestResult.xml文件,您将看到原因,因为类不是公共的;-)
您的测试类必须是公共的。享受;)@felix-b我想这会是件琐碎/愚蠢的事情。谢谢您的测试类必须是公共的。享受;)@felix-b我想这会是件琐碎/愚蠢的事情。谢谢我没有XML文件,但很高兴知道其中有一些有用的调试信息!如果将来遇到问题,我会确保生成一个!:)默认情况下,应在2.4.8中生成TestResult.xml
。。。您还可以通过-xmlConsole
将输出重定向到控制台,但无论哪种方式,原因/消息部分通常都会向您显示任何问题的详细信息…;-)有点奇怪。我没看见。但是有一个xml标志;大概我可以强迫它。我来玩玩。你可以在我没有Xml文件的情况下大致了解一下Xml,但是很高兴知道其中有一些有用的调试信息!如果将来遇到问题,我会确保生成一个!:)默认情况下,应在2.4.8中生成TestResult.xml
。。。您还可以通过-xmlConsole
将输出重定向到控制台,但无论哪种方式,原因/消息部分通常都会向您显示任何问题的详细信息…;-)有点奇怪。我没看见。但是有一个xml标志;大概我可以强迫它。我来玩玩。您可以使用
<results>
<test-case name="Tests.Tests.FailingTest" executed="False">
<reason>
<message><![CDATA[Fixture class is not public]]></message>
</reason>
</test-case>
<test-case name="Tests.Tests.PassingTest" executed="False">
<reason>
<message><![CDATA[Fixture class is not public]]></message>
</reason>
</test-case>
</results>