您使用哪个JavaScript的BDD框架?

时间:2009-11-23 17:34:04

标签: javascript testing extjs bdd

我正在使用ExtJS框架开发大型应用程序。因为它增长得太快,我意识到这可能是开始做测试的时候了。

我想使用BDD技术,我发现了几个用于JavaScript的BDD框架(Screw.Unit,JSpec,JSSpec),但我仍然不确定选择哪一个。有一些关于这个主题的文章,但我对你自己的经验/建议更感兴趣。

所以我的问题是:

  • 你使用哪一个?为什么?
  • 欢迎任何其他提示/提示。
  • 您是否使用Selenium和BDD测试?
  • 你使用其他技术吗?

3 个答案:

答案 0 :(得分:1)

我们使用Selenium,是的。

我编写了一个单元测试框架(好吧,大部分是一个,功能齐全,不完全可插拔)我曾经使用过几次。这些主题不断涌现,所以也许我应该完成它......网址是http://code.google.com/p/jasproject/

答案 1 :(得分:0)

我使用buster.js因为我在node.js以及客户端javascript中开发。它使用单个API处理这两种情况。文档仍然缺乏,但我非常喜欢对异步测试的支持。

Buster也可以与Selenium的WebDriver类似的方式使用 - 您可以将各种浏览器从属于“服务器”,并在所有这些浏览器中同时运行测试。

答案 2 :(得分:0)

功能性网络测试有几个挑战。测试往往是......

  1. 运行缓慢(http请求缓慢,dom遍历也可能很慢)
  2. 慢写(写测试,启动应用,运行测试,意识到你弄错了,重新开始)
  3. 难以阅读(xpaths,css选择器等)
  4. 脆弱(与HTML紧密结合)
  5. 维护成本高(如果不使用页面对象模式等抽象层)
  6. 不切实际(在虚假浏览器中运行时)
  7. 由于这些原因,我首选的堆栈是

    1. JavaScript - 由于没有编译时间,开发时间很快
    2. CasperJS或Zombie JS - 非常快,基于webkit(Safari& Chrome [现在])
    3. Yadda for true BDD - 使测试易于阅读并提供抽象层,减轻脆弱性和维护
    4. 这个堆栈的缺点是你只在webkit中测试,而不是firefox,IE或Chrome(当谷歌转向Blink时)