【问题标题】:JavaScript unit testing and continuous integration 2011JavaScript 单元测试和持续集成 2011
【发布时间】:2011-08-29 22:05:24
【问题描述】:

关于单元测试 JavaScript 代码并将其集成到持续集成环境中的大多数现有问题似乎可以追溯到时间的黎明(或至少 2008 年或 2009 年 :))。甚至最近的一个也是大约一年半前的:

Running JavaScript unit tests headlessly in a Continuous Integration build

在我开始尝试使用 js-test-driver 构建测试并将它们集成到 Jenkins(nee Hudson)之前,这仍然是 2011 年最好的方法吗?

我们有使用 JavaScript 和 jQuery、Lawnchair、lccache、Fancybox 等的代码。我认为我们不必测试所有这些,但如果我们可以为合理的子集构建测试,那就太好了。如果解决方案对backbone.js 满意,则可以加分。随着时间的推移,它看起来越来越有可能。

【问题讨论】:

    标签: javascript unit-testing continuous-integration jenkins


    【解决方案1】:

    经过进一步研究,我们将尝试Jasmine BDD 进行测试。它出现在 Backbone.js 上的 PeepCode 视频以及关于使用 Jasmine 测试 Backbone.js 的优秀文章系列中:

    如果我们沿着这条路线走,看来我们可能不得不combine it with JsTestDriver so we can plug the whole mess into Jenkins

    【讨论】:

    • 你们在测试套件中使用 loadFixtures(来自 jasmine-jquery)吗?如果是这样,这些如何/如何与 JsTestDriver 一起工作?
    • @nav JsTestDriver 已被证明是在 Windows 上运行的一场噩梦,所以目前整个事情都已经摆在桌面上。我希望在某个时候从 Ops 手中夺取一台 Linux 服务器或虚拟机,这样我就可以让它继续工作。
    【解决方案2】:

    【讨论】:

    • 我喜欢已经有一个插件。 js-test-driver 似乎没有那么整洁,但看起来还不错:cjohansen.no/en/javascript/…
    • AFAIK,Selenium 更多地用于 Web 应用程序的功能测试,而不是 JavaScript 的单元测试。 (如果我错了,请告诉我。)
    【解决方案3】:

    供以后有人偶然发现此问题的参考:还有 TestSwarm(由 JQuery 团队使用)和 Buster.js(即将替换 JSTestDriver)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-24
      相关资源
      最近更新 更多