簡體   English   中英

使用NUnit進行數據驅動測試

[英]Data Driven Testing With NUnit

需要有關數據驅動測試自動化的建議

我正在使用C#ann Nunits進行測試自動化,用於使用MVC開發的Web應用程序。 我們正在使用Selenium web驅動程序。

作為數據驅動測試的一部分,哪一個適用於輸入測試數據的是xml文件或sql server db。

如果我們使用db,那么對於db連接有一些ORM(NHibernate)是好的。

謝謝

數據驅動的測試功能於NUnit的與- CSV

NUnit中的參數化測試

如何使用

   [Test, TestCaseSource("GetTestData")]
    public void MyExample_Test(int data1, int data2, int expectedOutput)
    {
        var methodOutput = MethodUnderTest(data2, data1);
        Assert.AreEqual(expectedOutput, methodOutput, string.Format("Method failed for data1: {0}, data2: {1}", data1, data2));
    }


    private IEnumerable<int[]> GetTestData()
    {
         while (data.ReadNext()) // Use your custom logic based on Stream to get new data (basically Implement IEnumerator on data class)
          yield return new[] { data.Current };
    }

其他測試框架
MS測試
的xUnit

查看您的賬單中的任何一個。

如果你有一個好的ORM,並且你對它感到滿意,那就使用它。

如果您對XML更熟悉 - 那就去做吧。

當它成為問題時,請考慮長時間運行。 你沒有用Selenium編寫單元測試,你正在編寫集成UI測試。 因此,無論如何它們通常在晚上運行,因此長時間運行很少成為問題。

就個人而言,在這里,我們使用LINQ2SQL,對於任何數據,我都會跳轉到SQL服務器數據庫,它運行正常 - 提供您的查詢並不愚蠢,性能影響不大。

我的建議是將測試數據捆綁到單元測試夾具本身。 每種測試方法的設置將設置測試的初始狀態(數據); 並且拆解將清理它(如有必要)。

嘗試維護外部數據文件並使其與單元測試代碼保持一致是一件麻煩事。 (YMMV - 這是我個人經驗的建議。)

考慮將測試數據存儲在嵌入式json文件中,而不是excel或數據庫中。

存儲在json中將具有以下好處。

  1. 由於模式,測試代碼沒有任何阻礙
  2. 沒有連接問題
  3. 測試數據將作為項目的一部分提供

為在嵌入式json文件中管理測試數據提供了很好的支持

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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