我已经运行了gulp-jasmine-phantom,但是我得到了一个ReferenceError: Tictactoe is not defined。我有种感觉,我正在犯一些根本性的错误。
我的文件结构:
gulpfile.js
spec/test.js
source/js/tictactoe.js代码的简化版本:
一口吞下:
gulp.task('site:js:test', function() {
return gulp.src( 'spec/test.js')
.pipe(jasmine())});test.js:
require("../source/js/tictactoe");
describe("Tictactoe", function() {
var t = new Tictactoe();
it("expects there to be able to add a mark", function() {
t.addMark([0,0], 1);
expect(t.board[0,0]).toBe(1);
});
});tictactoe.js
function Tictactoe(size) {
this.size = size;
// default variables:
this.EMPTY = "";
this.board = [];
for ( var i = 0; i < this.size; i++ ) {
this.board[i] = [];
for ( var j = 0; j < this.size; j++) {
this.board[i][j] = this.EMPTY;
}
}
}
Tictactoe.prototype.addMark = function(position, player)
{}我也尝试过gulp.src( ['source/js/tictactoe.js', 'spec/test.js'] ),然后在test.js中不需要。也没有成功。我还尝试过gulp-jasmine和gulp-jasmine-browser。你能帮我把它修好吗?
提前谢谢你!
发布于 2017-04-14 04:56:36
这里已经回答了一个与您相关的问题:How to Load a File for Testing with Jasmine Node?
简而言之,您需要在tictactoe库之外创建一个模块,导出Tictactoe函数,然后将其要求到Jasmine可以访问的本地变量中。Tictactoe函数目前仅限于所需JavaScript文件的本地作用域。
https://stackoverflow.com/questions/42852143
复制相似问题