首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从茉莉花测试引用JavaScript文件

从茉莉花测试引用JavaScript文件
EN

Stack Overflow用户
提问于 2015-01-29 14:56:59
回答 1查看 7K关注 0票数 4

我正在编写一些实用程序,我打算在我的JavaScript中重用它们。这也是我的一个学习练习。为了做到这一点,我有以下文件:

utilities.js

代码语言:javascript
复制
Object.prototype.AddPrefix = function(prefix) {
    return prefix + this;
};

我打算在JavaScript中这样调用这个函数:

代码语言:javascript
复制
var myString = 'agree';
myString = myString.AddPrefix('dis');

请注意,这是一个人为的例子。我只是想演示一下调用这个函数。无论哪种方式,我都想测试AddPrefix函数。为了做到这一点,我用了茉莉花。我有以下茉莉花档案:

utilities.tests.js

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

代码语言:javascript
复制
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时,会得到以下错误:

代码语言:javascript
复制
[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的位置一样。不过,我不知道如何参考。我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-29 16:15:46

您的utilities.js文件永远不会被执行。您需要在require('./utilities')中使用utilities.tests.js

代码语言:javascript
复制
'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);
        });
    });
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28217712

复制
相关文章

相似问题

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