如何在使用QUnit, PhantomJS和JSCover时组织我的JavaScript单元测试
How to organize my JavaScript unit tests when using QUnit, PhantomJS and JSCover
我正在尝试使用PhantomJS和QUnit为我的JavaScript代码设置自动单元测试,并且还使用JSCover生成代码覆盖率-基本上如下所述:http://julianhigman.com/blog/2013/07/23/testing-javascript-with-qunit-phantomjs-and-jscover/
问题是,这个页面,以及我在这个主题上看到的其他页面,假设您只有一个HTML页面,它将加载并运行项目中所有的QUnit测试。
在我的例子中,我有大约50个JavaScript源文件,以及对应的.js单元测试文件。我打算为每个单元测试文件使用单独的HTML页面,这样在开发过程中我就可以在浏览器中单独运行特定文件的测试。但是,除了必须维护50个(诚然是非常基本的)HTML文件的开销之外,我不确定如何使JSCover很好地工作(不生成50个覆盖率报告)。
对于我来说,将所有50个单元测试文件包含到一个HTML页面中是最佳实践吗?我会选择在一个HTML页面中包含所有50个单元测试文件。
如果您不想一直运行所有的测试,您可以使用QUnit模块将测试分解成组。然后,您可以通过使用QUnit页面右上方的下拉列表,或者通过在URL中使用查询字符串参数(例如http://localhost:8000/qunit-tests.html?module=SomeModuleName
或file:///path/to/your/qunit-tests.html?module=SomeModuleName
),一次运行一个模块的测试。
在同一个HTML页面中包含所有50个测试文件意味着您可以一次运行所有测试,然后为所有代码生成代码覆盖率。我也忍不住觉得在50个HTML页面上一个接一个地运行PhantomJS会比在一个更大的HTML页面上运行要慢得多。
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 我的职位回报太快了,如何做出承诺
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何识别我的网站中的慢速设备
- 如何将JSON数据导入我的ejs模板
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 知道为什么我的旋转木马不会自动更改图片吗
- 我的模板未被解析
- 无法将数据从firebase获取到我的html页面
- 角度图表;t显示在我的页面中
- 我的AngularJS表达式没有'不起作用
- 将电视直播频道从网站嵌入我的网站
- /undefined在我的404错误日志中多次出现
- 为什么我的d3.jsselectAll+过滤器没有过滤
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 我的javascript for循环不起作用
- 如何在使用QUnit, PhantomJS和JSCover时组织我的JavaScript单元测试