2016-09-11 2 views
2

Ich versuche, eine einfache Typoskript-Datei auszuführen, wo ich eine Funktion sum namens bin Export wie folgt:kann nicht den Namen „Modul“ finden

I Knoten Skript schreibe.

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

Ich verstehe nicht, was ich falsch gemacht habe.

Ich schrieb dieses einfache Skript, um den Unit Testfall zu verstehen. Ich dachte, wenn diese Datei richtig läuft, dann gehe ich und beginne den grundlegenden Testfall mit Mocha und Chai.

unten ist mein Testcode:

"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

Könnten Sie bitte hinzufügen, wie werden Sie es aus dem Import draußen? – Manu

+0

@Manu Hier finden Sie meinen aktualisierten Code, wo ich einfache Tests mit Mocha und Chai –

Antwort

1

Dieser Friede von Code für mich funktioniert gut;

lassen Sie uns sagen, dass wir ein Modul haben math_utils.ts genannt, die eine Funktion mit dem Namen foo und ein Objekt obj

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

export const obj = { life: 42 } 

const _aPrivateObjectToTheModule = {} 

function _aPrivateFunctionToTheModule() {} 

Wir definieren nun im gleichen Ordner eine andere Datei, zum Beispiel math_utils.spec.ts, das geht zu importieren genannt exportiert unsere Modul.

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); 
    }) 
}) 

Nun, nur für Zusammengefasst in Typoskript können Sie Modulelemente auf diese Weise importieren ... oder das gesamte Modul importieren, wie folgend:

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

hier im Import * als MathUtils aus './math_utils' "MathUtils" bezieht sich auf? –

+0

@Shikhathakur Ich habe die Antwort bearbeitet – Manu

+0

Eine weitere Sache habe ich geknackt, warum Sie MathUtils dort verwendet, aber wenn ich meinen Test ausführen, bekomme ich einen weiteren Fehler als "unerwartetes reserviertes Wort" und es zeigt "importieren" –