使用QUnit,PhantomJS和JSCover时如何组织我的JavaScript单元测试

时间:2014-05-29 16:40:07

标签: javascript unit-testing phantomjs qunit

我正在尝试使用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页面中吗?

1 个答案:

答案 0 :(得分:2)

我会选择将所有50个单元测试文件包含在一个HTML页面中。

如果您不想一直运行所有测试,可以使用QUnit modules将测试分组。然后,您可以使用QUnit页面右上角的下拉列表或使用URL中的查询字符串参数一次运行一个模块的测试,例如http://localhost:8000/qunit-tests.html?module=SomeModuleName或{{1} }。

在同一个HTML页面中包含所有50个测试文件意味着您可以一次性运行所有测试,然后为所有代码生成代码覆盖率。我也不禁觉得在50个HTML页面上依次运行PhantomJS会比在一个较大的HTML页面上运行它慢得多。