2016-09-11 3 views
2

Я пытаюсь запустить простой машинопись файл, в котором я экспортирующей функцию с именем sum, как показано ниже:не может найти «модуль» имя

Я пишу сценарий узла.

function sum(a:number):number{ 
    return a; 
} 
module.exports.sum=sum; 

Я не понимаю, что я сделал не так.

Я написал этот простой сценарий, чтобы понять единицу тестового примера. Я думал, что если этот файл работает правильно, я пойду и начну основной тестовый пример с использованием мокко и чей.

ниже мой тестовый код:

"use strict" 

// Import chai. 
let chai = require('chai'), 
    path = require('path'); 

chai.should(); 

let SampleTest = require(path.join(__dirname, '..', 'sample.js')); 

describe('Sampletesting',() => { 
    describe('function sum', function(){ 
     it('should return number', function(){ 
      sum(1).should.equal(1); 
     }) 
    }) 
}); 
+1

Не могли бы вы добавить, как вы его импорта из за пределами? – Manu

+0

@Manu Пожалуйста, найдите мой обновленный код, где я провел простую проверку с помощью mocha и chai –

ответ

1

Этот мир кода работает хорошо для меня;

скажем, у нас есть модуль под названием math_utils.ts, который экспортирует функцию с именем foo и объект под названием obj

// typescript syntax for exporting 
export function foo(a: number): number { 
    // whatever 
} 

export const obj = { life: 42 } 

const _aPrivateObjectToTheModule = {} 

function _aPrivateFunctionToTheModule() {} 

Теперь мы определяем в той же папке, другой файл, например math_utils.spec.ts, который собирается импортировать наш модуль.

import { should } from 'chai' 
import { foo } from './math_utils' 
// now we are able to call math_utils.foo() 

describe('foo',() => { 
    it('should....',() => { 
     foo(1).should.equal(1); 
    }) 
}) 

Теперь, только для резюме, в машинописи вы можете импортировать элементы модуля этот путь ... или импортировать весь модуль следующим образом:

import * as chai from 'chai' 
import * as MathUtils from './math_utils' 
// now in an object called MathUtils we have every member defined with the keyword export 
const should = chai.should 

describe('foo',() => { 
    it('should....',() => { 
     MathUtils.foo(1).should.equal(1); 
    }) 
}) 
describe('obj',()=> { 
    // ... 
    MathUtils.obj 
}) 
+0

здесь, в import * as MathUtils from. ./math_utils. «MathUtils» означает? –

+0

@Shikhathakur Я отредактировал ответ – Manu

+0

Еще одна вещь, которую я взломал, почему вы использовали MathUtils там, но когда я запускаю свой тест, я получаю еще одну ошибку как «неожиданное зарезервированное слово», и она указывает «импорт» –

Смежные вопросы