Soy un novato con JS y no sé cómo crear una instancia de uno de mis objetos en esta prueba unitaria de broma (proyecto backend/nodejs)
estructura del proyecto :
appi/ src/ configFactory.js ... test/ configFactory.test.js ... package.jsonrequireconfigFactory.js
class ConfigFactory { constructor(index_mapping){ this.mapping = index_mapping } }configFactory.prueba.js
const ConfigFactory = require('../src/configFactory.js') var fs = require('fs'); test('some test', () => { fs.readFile(__dirname +'/__mock-data__/Mappings/mappings_ac.json', 'utf8', function(err, data) { if (err) throw err; const factory = new ConfigFactory(data); }); }); Esto termina con un TypeError: ConfigFactory is not a constructor
import class ConfigFactory { constructor(index_mapping){ this.mapping = index_mapping } } export default ConfigFactory import ConfigFactory from "../src/configFactory" termina con SyntaxError: Cannot use import statement outside a module . Traté de agregar "type": "module" a paquete.json pero siento que me estoy perdiendo un punto importante
Parece que no estaba exportando correctamente mi clase para CJS:
class ConfigFactory { constructor(index_mapping){ this.mapping = index_mapping } } module.exports = ConfigFactory