簡體   English   中英

使用TestDriven.NET和NUnit在測試類中運行所有測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM