QUnit Vs. Jasmine和TDD比。 BDD

时间:2013-08-09 20:52:15

标签: javascript tdd bdd jasmine qunit

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

  • QUnit - http://qunitjs.com/

  • Jasmine - http://jasmine.github.io/

    1. Jasmine 显然比 QUnit 更集中 BDD 虽然我可以看到用 QUnit 做BDD通过以行为导向的方式描述测试。它们都能够在代码单元上运行断言,所以我认为它们都是单元测试。 BDD是否与TDD相互排斥,或者你是如何编写它的?

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

    3. 您是否还有其他其他测试框架?除了单元测试之外是否有其他测试可以帮助开发人员在前端进行测试?

2 个答案:

答案 0 :(得分:19)

  1. BDD和TDD不是互斥的。请参阅Liz Keogh's post

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

    此外,如果您尝试使用BDD覆盖所有测试路径,您的商务人士将会感到无聊并停止关怀。

  3. 查看Cucumber-JSCucumber的端口)。

答案 1 :(得分:-1)

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

此DSL here的背景还有更多内容。