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 任务:
- 将ts编译成单独的js文件。
- 将 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
。我在这里做错了什么?
我没有足够的声誉来添加评论。那么您是否尝试过检查文件本身。项目的未编译版本。因为,据我所知,测试无法解析编译版本,因此失败
我刚开始做 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 任务:
- 将ts编译成单独的js文件。
- 将 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
。我在这里做错了什么?
我没有足够的声誉来添加评论。那么您是否尝试过检查文件本身。项目的未编译版本。因为,据我所知,测试无法解析编译版本,因此失败