28

我一直在寻找两个库来在前端进行单元测试。

  • QUnit - http://qunitjs.com/

  • 茉莉花- http://jasmine.github.io/

    1. Jasmine显然比QUnit更关注BDD,尽管我可以看到通过以面向行为的方式描述测试来使用QUnit进行 BDD。它们都能够在代码单元上运行断言,所以我认为它们都是单元测试。BDD 与 TDD 是互斥的还是完全取决于您的编写方式?

    2. 如果您正在进行行为测试,是否需要进行单元测试?似乎如果您涵盖所有用户故事,您实际上并不需要了解可测试单元的详细信息。

    3. 你还有其他喜欢的测试框架吗?除了单元测试之外,还有其他适合开发人员在前端进行的测试吗?

4

2 回答 2

20
  1. BDD 和 TDD 不是相互排斥的。见Liz Keogh 的帖子

  2. 行为测试应该为业务利益相关者所理解。单元测试通常旨在让技术团队成员(开发人员、测试人员等)理解。有关如何使单元测试更具可读性的示例,您应该查看GOOS书(尽管示例是 Java 而不是 Javascript)。

    此外,如果您尝试使用 BDD 覆盖所有测试路径,您的业务人员会感到无聊并不再关心。

  3. 看看Cucumber-JS(Cucumber 的一个端口

于 2013-08-12T16:45:58.863 回答
-2

如果您正在考虑编写涉及 DOM 交互的测试,我会看看pageboy.js。这是一个新项目,它为 Javascript DOM 交互提供了领域特定语言 (DSL)(有点像在 Ruby 中的 Cucumber 中使用的 Capybara),旨在使测试代码更具可读性。

这里有更多关于这个 DSL 的背景。

于 2014-01-14T08:36:41.973 回答