我已public Dog(int a, String n)
正在投放,但我得到了gulp-jasmine-phantom
。我感觉我犯了一些根本性的错误。
我的文件结构:
ReferenceError: Tictactoe is not defined
代码的简化版本:
吞:
gulpfile.js
spec/test.js
source/js/tictactoe.js
test.js:
gulp.task('site:js:test', function() {
return gulp.src( 'spec/test.js')
.pipe(jasmine())});
tictactoe.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);
});
});
我还尝试了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)
{}
,然后在test.js中没有要求。也没有成功。
我还尝试了gulp.src( ['source/js/tictactoe.js', 'spec/test.js'] )
和gulp-jasmine
。你能帮我把它搞定吗?
提前非常感谢!!
答案 0 :(得分:1)
此处已经回答了与您相关的问题:How to Load a File for Testing with Jasmine Node?
简而言之,您需要从tictactoe库中创建一个模块,导出Tictactoe函数,然后将其转换为Jasmine可访问的局部变量。目前,Tictactoe函数仅限于所需JavaScript文件的本地范围。