如何使用gulp-jasmine,gulp-jasmine-browser或gulp-jasmine-phantom测试我的功能?

时间:2017-03-17 07:58:47

标签: javascript gulp jasmine

我已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。你能帮我把它搞定吗?

提前非常感谢!!

1 个答案:

答案 0 :(得分:1)

此处已经回答了与您相关的问题:How to Load a File for Testing with Jasmine Node?

简而言之,您需要从tictactoe库中创建一个模块,导出Tictactoe函数,然后将其转换为Jasmine可访问的局部变量。目前,Tictactoe函数仅限于所需JavaScript文件的本地范围。