Mocha 看不到捆绑的 js

Mocha does not see bundled js

我刚开始做 js 测试。一般来说,我的js经验很有限。我的任务是创建测试,但我碰壁了,我不知道如何继续。

我从事的项目是用 TypeScript 编写的。我使用 gulp + browserify 将编译后的 ts 脚本打包到一个 js 文件中。但是我无法从测试文件访问捆绑的 js 文件中的任何函数。我创建了一个非常基本的测试项目,试图了解什么是什么。我基本上有 2 个 ts 文件:

separated.ts

export class separated {
  static getDataFromSeparated(value: number): boolean {
    if (value > 1) {
      return true;
    }
  }
} 

和app.ts

import { separated } from './separated';
export { separated }

function getData(value) {
  if (value > 1) {
    return true;
  }
}

module.exports = getData;

export function getAnotherData(value) {
  return separated.getDataFromSeparated(value);  
}

我有 2 个 gulp 任务:

  1. 将ts编译成单独的js文件。
  2. 将 ts 和 bundles 编译成一个文件。 (我想要的结果)

1. 的测试 运行 很好:

const getData = require('./dist/app');
const getAnotherData = require('./dist/app');
const separated = require('./dist/separated').separated;

var assert = require('assert');

describe('Test Suite 11 - functions', function () {
  it('getData - from module', function () {
    assert.ok(true, getData(2));
  })

  it('getAnotherData - from export', function () {
    assert.ok(true, getAnotherData(2));
  })

  it('separated.getData', function () {
    assert.ok(true, separated.getDataFromSeparated(2));
  })
})

捆绑测试不起作用:

const getData = require('./dist/appBundled');
const getAnotherData = require('./dist/appBundled');
const separated = require('./dist/appBundled').separated;

var assert = require('assert');

describe('Test Suite 21 - functions', function () {
  it('getData - from module', function () {
    assert.ok(true, getData(2));
  })

  it('getAnotherData - from export', function () {
    assert.ok(true, getAnotherData(2));
  })

  it('separated.getData', function () {
    assert.ok(true, separated.getDataFromSeparated(2));
  })
})

我得到例如:getData is not a function(所有测试都因相同的原因失败 ... is not a function。我在这里做错了什么?

我没有足够的声誉来添加评论。那么您是否尝试过检查文件本身。项目的未编译版本。因为,据我所知,测试无法解析编译版本,因此失败