gulp + mocha +打字稿单元测试

时间:2017-04-02 04:07:00

标签: node.js typescript gulp mocha

我在测试文件上创建新实例时出错。 这是我的考验:

    /// <reference path="../typings/globals/mocha/index.d.ts" />

import Person from '../src/person/person';

describe('Person', () => {

    let person: Person;

    beforeEach(() => {
        person = new Person();

    });

    describe('getName', () => {

        it('return name', () => {

        });
    });
});

我的gulp任务:

var gulp = require("gulp");
var ts = require("gulp-typescript");
var mocha = require("gulp-mocha");
var tsProject = ts.createProject("./tsconfig.json");

gulp.task('watch', function () {
    gulp.watch('./src/**/**/*.ts', ['ts']);
});

gulp.task('ts', function () {
    return tsProject.src()
        .pipe(tsProject())
        .js.pipe(gulp.dest("dist"));
});

gulp.task('test', function () {

    return gulp.src('./tests/*.spec.ts',
        {
            base: '.'
        })
        /*transpile*/
        .pipe(tsProject())
        /*flush to disk*/
        .pipe(gulp.dest('.'))
        /*execute tests*/
        .pipe(mocha())
        .on("error", function(err) {
            console.log(err)
        });
});

gulp.task("default", ['watch', 'ts']);

因此,当我启动测试时发生错误,但如果我评论 person = new Person(),那么一切正常。

有人知道我做错了什么吗?

编辑: 对不起,这是错误:

module.js:472
    throw err;
    ^

Error: Cannot find module '../src/person/person'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/emesislol/projects/persons/tests/person.test.js:4:21)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at /Users/emesislol/projects/persons/node_modules/mocha/lib/mocha.js:222:27
    at Array.forEach (native)
    at Mocha.loadFiles (/Users/emesislol/projects/persons/node_modules/mocha/lib/mocha.js:219:14)
    at Mocha.run (/Users/emesislol/projects/persons/node_modules/mocha/lib/mocha.js:487:10)
    at Object.<anonymous> (/Users/emesislol/projects/persons/node_modules/mocha/bin/_mocha:459:18)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

0 个答案:

没有答案