Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

179
Visualizações
Uso de QUnit CLI: problemas con la sintaxis de importación/exportación

Creo que el problema es con las diferencias entre el uso de ES Modules vs Common JS Module vs Webpack, ¡pero he venido aquí para descubrir qué es lo que está mal!

Básicamente, tengo QUnit configurado y funcionando bien a través del navegador. Pero quiero agregarlo a nuestro proceso de prueba de línea de comando de desarrollo para que QUnit también se ejecute. Encontré QUnit CLI y fue fácil ponerlo en marcha.

Ejecuto mi archivo de prueba con npx qunit path/to/test/*.js

 //Working test example running from cli. QUnit.module('math'); function add(a, b) { return a + b; } QUnit.test('add two numbers', assert => { assert.equal(add(1, 2), 3); });

Pero cuando quiero probar el código real de los archivos de nuestro proyecto, recibo errores como: SyntaxError: Cannot use import statement outside a module así que intenté cambiar el archivo a .mjs, que luego falla al import { Code } from '../code/Code.js'; ^^^^^^ SyntaxError: Named export 'Code' not found. The requested module '../code/Code.js' is a CommonJS module, which may not support all module.exports as named exports.

Idealmente, me gustaría que mi entorno de prueba siguiera un camino similar al de la visita al sitio web principal.

Otro problema que asumo es debido a webpack.

En webpack tenemos:

 resolve: { alias: { '@': path.resolve( __dirname, 'code/files' ) }, },

Entonces, todos nuestros archivos, por ejemplo, se importan con import { CodeThing } from '@/somecode/CodeThing'; . ¿Hay alguna forma de hacer que webpack y QUnit funcionen juntos de manera amigable?

Ejemplo de código de prueba completo que quiero que ejecute QUnit:

 import { CodeThing } from '@/somecode/CodeThing.js'; QUnit.module( 'CodeThing' ); QUnit.test( 'CodeThing.Round', function( assert ) { assert.ok( CodeThing.Round( 1.005, 2 ) === 1.01, 'CodeThing.Round(1.005, 2) === 1.01 -- Passed!' ); } ) ;

Entonces CodeThing.js contiene código como:

 import { MoreCode } from '@/code/MoreCode'; import { OtherCode} from '@/code/OtherCode'; export var CodeThing = function() { }; CodeThing.Round = function( int, decimal_places ) { //Code }; CodeThing.FuncTwo = function( param ) { //Code };
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda