2012-09-04 13 views
10

Así que estoy jugando con BDD y mocha con mi proyecto express.js. Me acaba de empezar así que aquí es lo que tengo como mi primer caso de prueba:Requerimiento de archivo js externo para prueba de mocha

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' 

(también esta CoffeeScript genera algunos js aspecto raro, ya que inserta vuelve al último estado de cuenta .. Es esta la forma correcta de instalación ? una prueba con CoffeeScript)

Ahora en que funciono moka me sale este error:

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

que supongo medios skill.js no se importó correctamente. Mi clase de habilidad es muy simple en este punto, sólo un constructor:

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

¿Cómo se importan mis modelos para mi prueba de moka puede acceder a ellos?

Respuesta

8

necesita exportar su clase de Habilidad así:

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

module.exports = Skill 

y asignarlo a la variable en su prueba:

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

si skill.js está en la misma ruta de su código de prueba, intente esto.

require "./skill.js" 
Cuestiones relacionadas