[英]TestDriven.Net 3.0 does not have TestDriven.NET.Solution?
[英]Run all tests in a test class using TestDriven.NET and NUnit
注意:我正在為此項目使用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;
}
}
}
單元測試:
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));
}
}
}
我在使用相同版本的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)。
我在插入符號位置上有完全相同的錯誤消息和類似行為。
我已經有了最新版本的TestDriven.Net。
我的問題是我的新TestClass沒有指定類別,它被過濾掉了(工具 - > TestDriven.Net - >常規 - >類別 - >包括類別中的測試)。
所以只要指定正確的類別就可以修復我的問題
這是相同的錯誤消息,但不同的問題和解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.