¿Qué significa cuando el BUSTERJS dice que los testhelpers en el nodo se requerirán?
Pregunta
de la documentación (mina enfatizada)
Archivos de la biblioteca para cargar en las etiquetas de script en el navegador. esta configuración Normalmente no se debe utilizar para las carreras de nodos. Si es así, los archivos serán
require'd
. El valor es una matriz de nombres de archivos y / o patrones de globo. Archivos Se cargan en el orden proporcionado. Puede incluir duplicados, por ejemplo. ["prueba / lib / core.js", "prueba / lib / * / .js"], los archivos solo se cargarán una vez. Los testhelpers se cargan después de bibliotecas y fuentes, pero antes pruebas.¿Qué significa esto, exactamente? Cuando obtienen
require'd
, ¿qué se incluyen? ¿Bajo qué nombre de la variable? Tengo algunos métodos globales (testSetUp
ytestTearDown
) que me gusta reutilizar entre las pruebas. Según esto, solo puedo usar estos métodos entre las pruebas cuando estoy probando el navegador, no cuando estoy probando en el nodo.Aquí está mi archivo de configuración:
var config= module.exports;
config['Browser Tests'] = { rootPath: '../', environment: 'browser', sources: [ 'src/*.js' ], deps: [ 'submodules/d3/d3.v2.min.js' ], testHelpers: [ 'test/helpers/*.js' ], tests: [ 'test/test_*.js' ] }; config["Node tests"] = { rootPath: '../', environment: "node", tests: [ 'test/test_*.js' ] };
Solución
Lo que la documentación le está diciendo es que se requerirán los archivos, pero sus exportaciones se perderán.Entonces, a menos que sus ayudantes modifiquen los objetos globales, esto no es útil en el nodo.
Sin embargo, usted es libre de poner a los ayudantes compartidos en un archivo separado y requerir usted mismo.