從我看來,自從SUnit,JUnit和常用的xUnit測試框架以來,測試已經走過了很長一段路。測試框架有哪些「樣式」?
我查看了RSpec和Cucumber以瞭解什麼是「行爲驅動」測試關於什麼,但現在我確實想知道編寫單元測試存在哪種類型的其他方法。
我沒有被綁定到任何特定的語言,但更感興趣的測試代碼的一般想法和方法。
所以,我的問題是,單元測試有哪些風格不同的方法,即與「斷言」不同的方法。
我舉的例子:
單位試井的xUnit的風格看起來大致是這樣在你的FAVORIT語言:
stack = new Stack()
assertTrue (stack.empty())
stack.push(1)
assertFalse (stack.empty())
assertEquals(1, stack.top())
RSpec的風格單元試井看起來非常像這樣(大約即興) :
describe Stack do
it "should be empty" do
Stack.new.empty?.should == true
end
it "should contain new value on top" do
stack = Stack.new
stack.push(1)
stack.empty?.should == false
stack.top().should == 1
end
end
還有其他有趣的風格,符號'DSL'嗎? 當然,每種語言和框架都會有不同的主題,但是有不同的一般'主題'/風格嗎?
我不知道我是否完全正確地理解你的問題。有單元測試框架作爲NUnit,Visual Studio中內置的單元測試框架以及其他一些框架。這些可用於基於狀態的測試。如果您還想使用基於行爲的測試,則可能需要使用Rhino Mocks,MOQ,TypeMock等隔離(模擬)框架之一。此外,您可以執行集成測試,以便將多個組件一起測試。自動UI測試是另一種工具,例如soapUI用於測試Web服務(儘管我會將其看作集成測試)。 – Gorgsenegger 2012-07-21 08:11:37
我試圖擴大這個問題。希望它更清楚。 – smarr 2012-07-21 09:22:27
不確定它適合你的問題,但我已經看到開發人員在他們的jUnit測試中放置'// Given','// When'和'// Then'註釋來幫助他們描述前提條件,測試事件,和預期的結果。 – 2012-07-21 09:30:38