【发布时间】:2013-05-19 15:01:13
【问题描述】:
这似乎是一种“寻找圣杯”,但我正在寻找一种用于 JavaScript 单元测试环境的设置。要求是:
- 测试 Requirejs AMD 模块
- 通过模拟依赖项来隔离每个模块
- 在开发期间可在浏览器中测试
- 可在无头环境中进行测试以实现持续集成
除了无头嘲讽之外的一切似乎都是直截了当的。
到目前为止,我已经测试了 JS-Test-Driver、Karma 和 Phantomjs,对于模拟,我使用了 Squire 和 Isolate——以及 @ 中代码的实现987654326@ 并且似乎没有什么工作完全正确。我一次又一次遇到的主要问题是测试框架在所有测试运行之前返回——主要是因为模拟需要它们自己的require() 依赖项。
任何帮助(或脚手架)都会有帮助!
[编辑]
我已经在 Github 上建立了一个基本的工作 Karma project 并带有一些示例模拟测试,使用 chai-expect 作为匹配库。我会尝试添加更多有用的文档,但如果您熟悉 Karma,它应该很容易扩展。只需 git clone 和 npm install 即可运行。
【问题讨论】:
标签: javascript unit-testing mocking requirejs