2010-08-04 127 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