測試驅動開發TDD系列(二)

2021-08-30 18:55:18 字數 2180 閱讀 9525

今天我們來做乙個tdd的小例子。通過乙個棧的實現來體驗一下tdd的過程。在本系列的**示例中,使用vs2010作為ide工具,nunit作為測試輔助工具。關於nunit的使用,在園子中已經有很多的文章。可以搜尋參考一下。推薦幾篇不錯的:

nunit詳細使用方法

實踐單元測試(3)-using nunit

今天的任務就是實現乙個棧,乙個沒有邊界的棧。就是資料結構中的棧,對棧中的元素的數量沒有限制。棧是乙個lifo(last-input-first-out,後進先出)的資料結構,先進入棧的元素要最後出來,最後

進入棧的元素可以現出來。

棧的操作包括:push、pop、top、isempty。

根據上面的功能,寫出乙個測試的列表

針對任務列表中的每一條,建立乙個測試用例。

下面是用來測試的stack類和測試類的原始碼。

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

public

class

mystack

<

t>

}public

void

push(t element)

public

t pop()

public

t top()}}

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

nunit.framework;

using

namespace

beautycode.tdd.test1

[test]

public

void

empty()

[test]

public

void

pushone()

[test]

public

void

pop()

[test]

public

void

pushpopcontentcheck()

[test]

public

void

pushpopmultipleelements()

[test]

[expectedexception(

typeof

(invalidoperationexception))]

public

void

popempty_mystack()

[test]

public

void

pushtop()

[test]

public

void

pushtopcontentcheckoneelement()

[test]

public

void

pushtopcontentcheckmultiples()

[test]

public

void

pushtopno_mystackstatechange()

}[test]

[expectedexception(

typeof

(invalidoperationexception))]

public

void

topempty_mystack()

[test]

public

void

pushnull()

[test]

public

void

pushnullcheckpop()

[test]

public

void

pushnullchecktop()}}

technorati 標籤:

tdd,

測試驅動開發

TDD 測試驅動開發

test driven development 測試驅動開發是敏捷開發中的一項核心實踐和技術,也是一種設計方 tdd的原理是在開發功能 之前,先編寫單元測試用例 測試 確定需要編 寫什麼產品 tdd雖是敏捷方法的核心實踐,但不只適用於xp extreme programming 同樣可以適用於其他開...

測試驅動開發TDD

測試驅動開發 testdriven development,tdd 的基本思路是通過測試推進整個的開發工作,並不只是單純的測試工作。利用這種測試方法時,若要完成某個功能,某個類,首先不是編譯正式的 而是先編寫測試 考慮其如何使用 如何測試。然後在對其進行設計 正式編碼。t dd具有很強的目的性,是在...

tdd 測試驅動開發

這是一張影響圖 當壓力越大時,所做的測試就會越少。測試越少,犯的錯就會越多,就會感到更大的壓力。這是乙個會造成情境越來越糟的迴圈。我們用事先編寫的測試來驅動開發,因為測試先於開發,所以我們在感到壓力時,就執行這些測試,它們會馬上給我們一種系統良好的感覺,而且會減少開發出錯的次數,進而減少我們的壓力,...