从 Jasmine 测试中引用 JavaScript 个文件
Referencing JavaScript files from Jasmine tests
我正在编写一些我打算在 JavaScript 中重用的实用程序。这也是我的一次学习练习。为了尝试这样做,我有以下文件:
utilities.js
Object.prototype.AddPrefix = function(prefix) {
return prefix + this;
};
我打算在 JavaScript 中这样调用这个函数:
var myString = 'agree';
myString = myString.AddPrefix('dis');
请注意,这是一个人为的例子。我只是想演示调用该函数。无论哪种方式,我都想测试 AddPrefix 函数。为此,我使用 Jasmine。我有以下 Jasmine 文件:
utilities.tests.js
'use strict';
describe('utilities', function() {
describe('add prefix', function() {
it('append dis to string', function() {
var v = 'agree';
var actual = v.AddPrefix('dis');
var expected = 'disagree';
expect(actual).toBe(expected);
});
});
});
utilities.js
和 utilities.tests.js
这两个文件在同一目录中。我正在使用以下脚本通过 gulp 执行 Jasmine:
gulpfile.js
var gulp = require('gulp');
var jasmine = require('gulp-jasmine');
gulp.task('default', function() {});
gulp.task('test', function() {
var testFiles = [
'utilities/utilities.tests.js'
];
return gulp
.src(testFiles)
.pipe(jasmine());
});
当我从命令行执行 gulp test
时,出现以下错误:
[09:44:33] Using gulpfile C:\Projects\test\gulpfile.js
[09:44:33] Starting 'test'...
F
Failures:
1) utilities add prefix
1.1) TypeError: Object agree has no method 'AddPrefix'
1 spec, 1 failure
Finished in 0 seconds
[09:44:33] 'test' errored after 42 ms
[09:44:33] Error in plugin 'gulp-jasmine'
Message:
Tests failed
就像utilities.tests.js
不知道utilities.js
在哪里。但是,我不知道如何引用它。我该怎么做?
您的 utilities.js
文件从未被执行。您需要 require('./utilities')
在 utilities.tests.js
:
'use strict';
require('./utilities');
describe('utilities', function() {
describe('add prefix', function() {
it('append dis to string', function() {
var v = 'agree';
var actual = v.AddPrefix('dis');
var expected = 'disagree';
expect(actual).toBe(expected);
});
});
});
我正在编写一些我打算在 JavaScript 中重用的实用程序。这也是我的一次学习练习。为了尝试这样做,我有以下文件:
utilities.js
Object.prototype.AddPrefix = function(prefix) {
return prefix + this;
};
我打算在 JavaScript 中这样调用这个函数:
var myString = 'agree';
myString = myString.AddPrefix('dis');
请注意,这是一个人为的例子。我只是想演示调用该函数。无论哪种方式,我都想测试 AddPrefix 函数。为此,我使用 Jasmine。我有以下 Jasmine 文件:
utilities.tests.js
'use strict';
describe('utilities', function() {
describe('add prefix', function() {
it('append dis to string', function() {
var v = 'agree';
var actual = v.AddPrefix('dis');
var expected = 'disagree';
expect(actual).toBe(expected);
});
});
});
utilities.js
和 utilities.tests.js
这两个文件在同一目录中。我正在使用以下脚本通过 gulp 执行 Jasmine:
gulpfile.js
var gulp = require('gulp');
var jasmine = require('gulp-jasmine');
gulp.task('default', function() {});
gulp.task('test', function() {
var testFiles = [
'utilities/utilities.tests.js'
];
return gulp
.src(testFiles)
.pipe(jasmine());
});
当我从命令行执行 gulp test
时,出现以下错误:
[09:44:33] Using gulpfile C:\Projects\test\gulpfile.js
[09:44:33] Starting 'test'...
F
Failures:
1) utilities add prefix
1.1) TypeError: Object agree has no method 'AddPrefix'
1 spec, 1 failure
Finished in 0 seconds
[09:44:33] 'test' errored after 42 ms
[09:44:33] Error in plugin 'gulp-jasmine'
Message:
Tests failed
就像utilities.tests.js
不知道utilities.js
在哪里。但是,我不知道如何引用它。我该怎么做?
您的 utilities.js
文件从未被执行。您需要 require('./utilities')
在 utilities.tests.js
:
'use strict';
require('./utilities');
describe('utilities', function() {
describe('add prefix', function() {
it('append dis to string', function() {
var v = 'agree';
var actual = v.AddPrefix('dis');
var expected = 'disagree';
expect(actual).toBe(expected);
});
});
});