unit-testing dojo intern

unit testing - ¿Por qué mi prueba interna falla con "documento no definido"?



unit-testing dojo (1)

Parece que estás intentando cargar algún código utilizando el cliente Node.js que requiere un entorno de navegador. Esto no funcionará Solo debe cargar el conjunto de ev/tests/FilterGrid en un navegador. Puedes hacer esto modificando tu archivo de configuración de Intern para que se vea así:

define([ ''intern/node_modules/dojo/has'' ], function (has) { var suites = []; if (has(''host-browser'')) { suites.push(''ev/tests/FilterGrid''); } return { // ...your existing configuration... suites: suites, // ... }; });

Soy nuevo en Intern y tengo dificultades para intentar hacer una prueba simple en mi entorno. Pude ejecutar la prueba tutorial pero he intentado configurar una prueba donde el archivo de prueba se encuentra dentro de la jerarquía de mi directorio de aplicaciones. El módulo que se está probando se encuentra aquí:

sandbox/web/libs/ev/grids/FilterGrid.js

El archivo de prueba se encuentra aquí:

sandbox/web/libs/ev/tests/FilterGrid.js

Mi archivo de configuración interno se encuentra aquí:

sandbox/tests/intern.js

Los objetos de mi cargador y suites se ven así:

loader: { packages: [ { name: ''dojo'', location: ''web/libs/dojo'' }, { name: ''dijit'', location: ''web/libs/dijit }, { name: ''dgrid'', location: ''web/libs/dgrid'' }, { name: ''put-selector'', location: ''web/libs/put-selector'' }, { name: ''xstyle'', location: ''web/libs/xstyle'' }, { name: ''ev'', location: ''web/libs/ev'' } ] }, suites: [''ev/tests/FilterGrid''],

Cuando el cargador intenta cargar esto, obtengo:

Defaulting to "console" reporter ReferenceError: document is not defined at /home/bholm/Projects/src/sandbox/web/libs/dojo/selector/_loader.js:5:15 at execModule (/home/bholm/Projects/src/sandbox/node_modules/intern/node_module /dojo/dojo.js:512:54) at /home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:579:7 at guardCheckComplete (/home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:563:4) at checkComplete (/home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:571:27) at onLoadCallback (/home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:653:7) at /home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:746:5 at fs.js:266:14 at Object.oncomplete (fs.js:107:15)

¿Las pruebas de la unidad usando Intern necesitan un documento DOM definido? También noté que el interno enumera dojo2_core ya que es una dependencia. Entonces, ¿está usando código inédito?

¡Cualquier ayuda con esto sería apreciada!