我如何使用 qunit 和 grunt 测试 nodejs 后端代码。
在 Gruntfile.js 中如何仅指定 js 文件,因此在 qunit 存储库中,示例 Gruntfile.js 讲述了创建 html 文件的过程,并且我可以看到可以使用 grunt 进行测试的 html 文件示例,但是如果我想仅测试 nodejs 后端 java 脚本文件,那么我如何使用它?有人可以为此指出一些 Gruntfile 的示例片段吗?
我的 Gruntfile.js 如下所示:
module.exports = function( grunt ) {
grunt.loadNpmTasks( "grunt-git-authors" );
grunt.loadNpmTasks( "grunt-contrib-concat" );
grunt.loadNpmTasks( "grunt-contrib-jshint" );
grunt.loadNpmTasks( "grunt-contrib-qunit" );
grunt.loadNpmTasks( "grunt-contrib-watch" );
grunt.initConfig({
pkg: grunt.file.readJSON( "package.json" ),
qunit: {
qunit: [
"src/test.js"
]
},
watch: {
files: [ "*", ".jshintrc", "{src,test}/**/{*,.*}" ],
tasks: "default"
}
});
grunt.registerTask( "build", [ "qunit" ] );
};
我的 test.js 文件如下所示:
test("testing", function(assert) {
var val1 = 10;
equal(10, val1, "We expect to be 10");
});
但是在运行“grunt qunit”时,它给出了以下错误:
Testing src/test.js
>> PhantomJS timed out, possibly due to a missing QUnit start() call.
Warning: 1/1 assertions failed (0ms) Use --force to continue.
Aborted due to warnings.
请让我知道在 Gruntfile 中提及的正确方法。
带着敬意,
-M-
最佳答案
您必须传递 html 文件而不是 js 文件,其中包含 qunit 客户端 js 文件。所以在这种情况下,你可以拥有这个非常小的 html 文件:
<script src='qunit.js'></script>
<script src='test.js'></script>
(虽然人们会因为没有 html、head、body 标签和其他东西而对我皱眉。我假设你知道它们是如何工作的,它自己也知道。这不是真正有效的 html,但在这种情况下有效)
qunit 来自 http://qunitjs.com/ 的地方:http://code.jquery.com/qunit/qunit-1.14.0.js
并在您的 gruntfile 中将其更改为
"src/test.html"
,它会正常工作。基本上
gurnt-contrib-qunit
还没有那么先进。你必须做更多的工作:)您可以按照本教程获取更多信息:http://jordankasper.com/blog/2013/04/automated-javascript-tests-using-grunt-phantomjs-and-qunit/
关于node.js - grunt、qunit、nodejs 后端测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21489692/