Nor*_*ren 8 nunit unit-testing testdriven.net visual-studio-2010
注意:我正在为此项目使用TestDriven.NET 3.0.2749和NUnit 2.6.0.12051.
我已经安装了TestDriven.NET和NUnit,并试图通过右键单击上下文菜单让TestDriven.NET在测试类中运行所有测试.
从TestDriven.NET文档:
如果选择了代码编辑器窗口,则执行的测试将由插入符的位置确定; 通过右键单击测试方法内的任何位置并选择"Run Test(s)"来执行单个测试,如图2所示; 通过右键单击一个类(但在任何方法之外)并选择"Run Test(s)"来执行测试夹具中的所有测试; 通过右键单击命名空间内部并选择"运行测试"来执行命名空间中的所有测试.
我可以使用右键单击上下文菜单成功运行特定的测试方法,NUnit GUI运行器将成功运行给定类的所有测试,但我想使用快速访问TestDriven.NET为此任务提供的同时我是发展.
当我将插入符号置于测试方法之外时,我收到以下错误:
目标类型不包含已知测试框架或"主"方法的测试.
更新1:添加了示例代码.
要测试的示例代码:
namespace TDDN.Framework
{
public class ExampleClass
{
public ExampleClass() { }
public Int32 Add(Int32 x, Int32 y)
{
return x + y;
}
public Int32 Subtract(Int32 x, Int32 y)
{
return x - y;
}
}
}
Run Code Online (Sandbox Code Playgroud)
单元测试:
using NUnit.Framework;
using TDDN.Framework;
namespace TDDN.UnitTests
{
[TestFixture] // Cursor caret placed here results in error above.
public class ExampleClassTests
{
[Test] // Cursor caret placed here works.
public void Add_SumTwoIntegers_SumReturned()
{
ExampleClass exampleClass = new ExampleClass();
Assert.AreEqual(10, exampleClass.Add(5, 5));
}
[Test] // Cursor caret placed here works also.
public void Subtract_SubtractTwoIntegers_DifferenceReturned()
{
ExampleClass exampleClass = new ExampleClass();
Assert.AreEqual(5, exampleClass.Subtract(10, 5));
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 16
我在使用相同版本的TestDriven.NET和NUnit(3.0.2749和2.6.0.12051)时遇到了这个问题.
问题是TestDriven.NET 3.0不支持NUnit 2.6,因此它无法识别NUnit [Test]和[TestFixture]属性.因此,TestDriven.NET仍将运行您的个人测试功能,但作为Ad Hoc(在测试时显示在Pass/Fail/Skip消息的末尾).
我能够通过安装更新版本的TestDriven.NET(3.3 Beta 2)来解决这个问题,该版本完全支持NUnit 2.6(参见:https://groups.google.com/d/msg/nunit-discuss/pTCDx2_L8jU/ TlpULzE36wEJ)现在您应该能够立即在夹具中运行所有测试,并在测试输出结束时看到(NUnit 2.6.0).
| 归档时间: |
|
| 查看次数: |
3519 次 |
| 最近记录: |