2012-09-04 10 views
10

Quindi sto giocando con BDD e mocha con il mio progetto express.js. Sto solo l'inizio: ecco quello che ho come il mio primo banco di prova:Richiesta di file js esterno per il test del moka

should = require "should" 
require "../lib/models/skill.js" 


describe 'Skill', -> 
    describe '#constructor()', -> 
     it 'should return an instance of class skill', -> 
      testSkill = new Skill "iOS", "4 years", 100 
      testSkill.constructor.name.should.equal 'Skill' 

(anche questo CoffeeScript genera alcuni js alla ricerca strano dato che inserisce ritorna ultima affermazione .. è questo il modo corretto per l'installazione ? un test con CoffeeScript)

Ora quando corro moka ottengo questo errore:

1) Skill #constructor() should return an instance of class skill: 
    ReferenceError: Skill is not defined 

che presumo mezzi skill.js non è stato importato correttamente. La mia classe abilità è molto semplice, a questo punto, solo un costruttore:

class Skill 
    constructor: (@name,@years,@width) -> 

Come faccio a importare i miei modelli in modo mio test moka possa accedervi?

risposta

8

è necessario esportare la classe di abilità in questo modo:

class Skill 
    constructor: (@name,@years,@width) -> 

module.exports = Skill 

e assegnarlo alla variabile nel test:

should = require "should" 
Skill = require "../lib/models/skill.js" 


describe 'Skill', -> 
    describe '#constructor()', -> 
     it 'should return an instance of class skill', -> 
      testSkill = new Skill "iOS", "4 years", 100 
      testSkill.constructor.name.should.equal 'Skill' 
0

se skill.js si trova nello stesso percorso del codice di prova, provare questo.

require "./skill.js" 
Problemi correlati