【问题标题】:Which BDD framework for JavaScript do you use?您使用哪种 JavaScript 的 BDD 框架?
【发布时间】:2009-11-23 17:34:04
【问题描述】:

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

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

所以我的问题是:

  • 您使用哪一种?为什么?
  • 欢迎任何其他提示/提示。
  • 您是否将 Selenium 与 BDD 测试一起使用?
  • 您是否使用任何其他技术?

【问题讨论】:

    标签: javascript testing extjs bdd


    【解决方案1】:

    我们使用 Selenium,是的。

    我编写了一个我用过几次的单元测试框架(嗯,大部分是功能性的,不是完全可插拔的)。这类话题不断出现,所以也许我应该完成它......网址是http://code.google.com/p/jasproject/

    【讨论】:

    • 谢谢,我一定会去看看的。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      1. 运行缓慢(http 请求很慢,dom 遍历也可能很慢)
      2. 写得很慢(写一个测试,启动应用程序,运行测试,意识到你犯了一个错误,重新开始)
      3. 难以阅读(xpath、css 选择器等)
      4. 脆弱(与 HTML 紧密耦合时)
      5. 维护成本高(如果您不使用抽象层,例如页面对象模式)
      6. 不切实际(在假浏览器中运行时)

      出于这些原因,我首选的堆栈是

      1. JavaScript - 开发时间很快,因为没有编译时间
      2. CasperJS 或 Zombie JS - 非常快,基于 webkit(Safari 和 Chrome [目前])
      3. Yadda for true BDD - 使测试易于阅读并提供抽象层,减少脆弱性和维护

      此堆栈的缺点是您仅在 webkit 中进行测试,而不是 firefox、IE 或 Chrome(当 Google 迁移到 Blink 时)

      【讨论】:

        猜你喜欢
        • 2012-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-18
        • 1970-01-01
        • 2011-07-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多