使用Karma对Gulp文件进行单元测试;茉莉花
Issue a unit test on a Gulp file using Karma & Jasmine
我为一个Gulp文件写了一个单元测试。测试使用Jasmine Framework (safari/chrome)运行karma。知道了Karma在浏览器中运行json配置文件中指定的测试文件后,它应该有办法在浏览器中运行Node的模块。经过研究,我发现通过使用Browserify,我将能够在浏览器中要求模块。
当我写这个命令
browserify ./Test/GulpTest.js -o ./Test/Test.js -d
新的TEST.js似乎很大
,然后运行以下命令在新的test .js
上启动测试karma .conf.js
我得到这个错误:
gulp输入流应该从ts编译为js TypeError:不能读取未定义的属性'isTTY在对象。(演示/用户/快速/桌面/应用程序/测试/. js: 75226:20)在Object.252。_process (/Users/Snap/Desktop/Demo App/Test/Test .js:75284:4)at s (/Users/Snap/Desktop/Demo App/Test/Test .js:1:254)at/Users/Snap/Desktop/Demo App/Test/Test .js:1:30 05在Object.31 . ./lib/pluginerror (/Users/Snap/Desktop/Demo App/Test/Test .js:3530:9)在Object.239 . ./lib/pluginerror (/Users/Snap/Desktop/Demo App/Test/Test .js:75113:21)at s (/Users/Snap/Desktop/Demo App/Test/Test .js:1:254)at/Users/Snap/Desktop/Demo App/Test/Test .js:1:30 05at Object.229.deprecated (/Users/Snap/Desktop/Demo App/Test/Test .js:74824:13)at s (/Users/Snap/Desktop/Demo App/Test/Test .js:1:254)
Chrome 44.0.2403 (Mac OS X 10.10.4): Executed 1 of 1 (1 FAILED) ERROR .日志含义(0.037秒/0.03秒)
it("should compile from ts to js", function () {
var gulp = require("gulp");
var ts = require("gulp-typescript");
var lazy = require("gulp-load-plugins");
var fs = require('graceful-fs');
var should = require('should');
var join = require('path').join;
/*
* * * Compile Typescript to JavaScript
*/
gulp.task("ts-compiler", function () {
return gulp.src("./Test/lib/file.ts")
.pipe(lazy.typescript({
// Generates corresponding .map file.
sourceMap : false,
// Generates corresponding .d.ts file.
declaration : true,
// Do not emit comments to output.
removeComments : false,
// Warn on expressions and declarations with an implied 'any' type.
noImplicitAny : false,
// Skip resolution and preprocessing.
noResolve : false,
// Specify module code generation: 'commonjs' or 'amd'
module : "amd",
// Specify ECMAScript target version: 'ES3' (default), or 'ES5'
target : "ES5"
}))
.pipe(gulp.dest("./Test/lib/dest"));
});
gulp.start("ts-compiler", function () {
console.log("compiling...");
should.exist("./Test/lib/dest/file.js");
});
});
你不能在karma和jasmine中运行Gulp——你把它当作一个前端库来运行,而它不是。
您需要使用后端测试库。你仍然可以使用jasmine,你只需要通过nodejs使用它,gulp就是这样运行的:https://www.npmjs.com/package/jasmine
您可能有兴趣了解我是如何为我工作的gulp任务编写单元测试的:https://github.com/Lostmyname/lmn-gulp-tasks/tree/master/test
- 我的单元测试选项是什么
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 使用量角器的当前url单元测试的getTitle
- AngularJS指令单元测试中未定义的函数
- 在茉莉花单元测试中模拟鼠标悬停
- 茉莉花单元测试法被称为
- 如何对需要测试其发射的角度指令进行茉莉花单元测试
- 带有EJS索引的角业力-茉莉花单元测试
- 茉莉花单元测试模拟一个承诺
- 如何在 angularjs 茉莉花单元测试中正确引用服务
- 如何根据茉莉花单元测试中的其他对象测试功能
- 在茉莉花单元测试中仅模拟今天的日期
- 单元测试工厂茉莉花-西农
- 使用外部模板的茉莉花进行角度定向单元测试
- 我可以在茉莉花单元测试中伪造存储事件吗
- 如何检查方法是否调用了茉莉花单元测试
- 如何在茉莉花和咖啡中编写开关盒的单元测试
- 使用Karma对Gulp文件进行单元测试;茉莉花
- 茉莉花:单元测试后恢复原型方法
- 茉莉花单元测试意外的此引用