2010-08-04 113 views
14

Ruby/Rails享受一些非常好的和強大的行爲驅動設計/開發測試框架,如CucumberRSpecDjango是否具有與Rails測試工具相媲美的BDD測試工具?

是否Python/Django享受同樣的事情(我不是在談論像PyUnit這樣簡單的單元測試)?

+0

你讀過這個嗎? http://docs.djangoproject.com/en/1.2/topics/testing/#topics-testing在閱讀完這些內容後,你會得到哪些具體的**問題? – 2010-08-04 22:47:49

+4

FYI Cucumber可以測試Python代碼:http://wiki.github.com/aslakhellesoy/cucumber/python – 2010-08-04 22:55:47

+0

我期待知道Python是否有類似於RSpec和Cucumber的框架,我知道Python中的單元測試。 @Tim,謝謝我不知道這些。 – Chiron 2010-08-04 23:01:25

回答

16

有一種叫做Lettuce的新工具,它有望成爲Cucumber的Pythonic版本。它從Django集成開始。這加上Django中現有的測試工具使它對單元測試非常有用。

還有一個名爲Windmill的工具,它爲構建GUI測試提供了一個可靠的基於瀏覽器的測試工具。再加上像Lettuce這樣的工具來編寫驗收測試和直接的unittestnosetests,我會說你已經設置好了。

需要記住的是,Ruby和Python之間的文化略有不同。 Ruby對測試的偏好高於一切。在Python中它是文檔。因此,Python中沒有一百萬個和一個測試框架,只有幾個非常穩定的框架,偶爾出現異常(如Lettuce)。

希望這會有所幫助。

+0

這裏有一個很不錯的[使用Lettuce和Django的簡介](http://kokoko.fluxionary.net/testing-django-part-2-lettuce) – 2011-02-25 05:05:40

1

如果您指的是高級測試,而不是單元測試,那麼您仍然可以使用Cucumber。黃瓜可以連接Webrat和Mechanize,你可以使用該設置來編寫故事來測試你的Django應用程序。我有這樣的設置。你也可以用Watir連接黃瓜,並進行基於瀏覽器的測試。

沒有像FactoryGirl那樣爲您的模型自動生成數據,但您可以使用Django燈具爲您的模型創建初始數據,並且只有在處於測試模式時才安裝Fixtures。然後你可以開始測試,並有一些數據可以測試。

有了這些,您可以設置一個相當全面的高級測試套件。然後你可以使用Django單元測試來做低級別的測試。

+1

現在有一個Factory Boy(https://github.com/dnerdy/factory_boy)包,它在FactoryGirl之後建模。 – 2012-11-18 04:45:52

1

我正在使用機器人測試框架http://code.google.com/p/robotframework/。它是驗收測試和驗收測試驅動開發(ATDD)的通用測試自動化框架。

這是靈活和強大的,也允許類似的方式生菜/黃瓜BDD風格。

3

萬一有人還在來這裏玩, Aloe,是生菜的升級和對Django的1.8集成。 我現在開始使用它。

+0

只是更新這個工具對我很好! – 2016-07-26 08:03:13