gpt4 book ai didi

javascript - 从 Jasmine 测试中引用 JavaScript 文件

转载 作者:搜寻专家 更新时间:2023-11-01 05:31:03 25 4
gpt4 key购买 nike

我正在编写一些我打算在我的 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.jsutilities.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 文件永远不会被执行。您需要在 utilities.tests.jsrequire('./utilities'):

'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 - 从 Jasmine 测试中引用 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28217712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com