4

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

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

所以我的问题是:

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

3 回答 3

1

我们使用 Selenium,是的。

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

于 2009-11-26T02:55:38.067 回答
0

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

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

于 2013-03-28T20:31:28.363 回答
0

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

  1. 运行缓慢(http 请求很慢,dom 遍历也可能很慢)
  2. 写得很慢(写一个测试,启动应用程序,运行测试,意识到你犯了一个错误,重新开始)
  3. 难以阅读(xpaths、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 时)

于 2013-05-30T23:15:38.837 回答