首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gulp-jasmine、gulp-jasmine-browser或gulp jasmine-phantom测试我的函数?

如何使用gulp-jasmine、gulp-jasmine-browser或gulp jasmine-phantom测试我的函数?
EN

Stack Overflow用户
提问于 2017-03-17 15:58:47
回答 1查看 314关注 0票数 0

我已经运行了gulp-jasmine-phantom,但是我得到了一个ReferenceError: Tictactoe is not defined。我有种感觉,我正在犯一些根本性的错误。

我的文件结构:

代码语言:javascript
复制
gulpfile.js
spec/test.js
source/js/tictactoe.js

代码的简化版本:

一口吞下:

代码语言:javascript
复制
gulp.task('site:js:test', function() {
return gulp.src( 'spec/test.js')
    .pipe(jasmine())});

test.js:

代码语言:javascript
复制
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

代码语言:javascript
复制
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-jasminegulp-jasmine-browser。你能帮我把它修好吗?

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2017-04-14 04:56:36

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

简而言之,您需要在tictactoe库之外创建一个模块,导出Tictactoe函数,然后将其要求到Jasmine可以访问的本地变量中。Tictactoe函数目前仅限于所需JavaScript文件的本地作用域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42852143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档