Estoy tratando de ejecutar pruebas usando los Mocha.js + JSDOM , pero tengo problemas para que Mocha se inicie. Esto está en el proceso de probar una aplicación React usando la biblioteca Vue.js Sigo recibiendo el siguiente error:
var req = require.context('./', false, /\.vue$/); TypeError: require.context is not a functionEl código en cuestión es:
let req = require.context('./', false, /\.vue$/); components.forEach(function (component) { try { let filePath = './' + component + '.vue'; let injected = inject(req(filePath)); Vue.component(getComponentName(component), injected); let appComponent = { name: injected.name, props: { autocompletion: { metadata: getComponentName('template'), score: xTemplatesScore, attributes: injected.props || [] } } }; appComponents.push(appComponent); } catch (err) { console.log(err); console.error('Vue file was not found for component:' + component + '. Please rename your files accordingly ( component-name.vue )'); } ¿Hay alguna manera de evitar esto y hacer que Mocha se inicie? ¿O hay un reemplazo adecuado para require.context ? Intenté rehacerlo simplemente con concatenaciones de cadenas simples y un require básico, pero eso me sigue diciendo que no se puede encontrar ninguno de los módulos de Vue .
require.context es un método de paquete web. Sus pruebas deben estar agrupadas antes de que puedan ejecutarse.
Normalmente, crearía un archivo de configuración de paquete web separado para sus pruebas. Luego, creará un paquete de prueba usando webpack y luego ejecutará Mocha en este paquete. Alternativamente, puede usar mocha-loader dentro del archivo de configuración de prueba del paquete web y dejar que las pruebas se ejecuten como parte del proceso de agrupación.
Se puede encontrar más información en la documentación del paquete web sobre pruebas .