Búsqueda de sitios web

Probando módulos de TypeScript sin exports


Estoy trabajando en un entorno heredado y tengo archivos de Typescript que contienen módulos o/y clases

class SomeClass {
    ...
}

module AndAModule {
    export namespace NestedNamespace {
        ...
    }
}

Observe la falta de la palabra clave "export" en los módulos/clases de nivel superior.

Me gustaría probar funciones en el "NestedNamespace" usando la biblioteca Jest. Sin embargo, cuando importo el archivo de Typescript en un archivo de prueba:

var service = require("/path/to/file/SomeService.ts")

No tengo acceso ni a una clase ni a un módulo definidos en el archivo SomeService.ts. Si agrego la palabra clave "export" antes del módulo y la clase, puedo acceder a ellos a través del objeto devuelto por require, sin embargo, esto rompe todo el entorno y otros archivos, ya que después de esto, el módulo y la clase no están presentes en el archivo outFile generado por TypeScript.

¿Cómo puedo importar los módulos deseados desde archivos, sin agregar ninguna declaración de exportación?

Respuesta #1

Si tienes una función que no se está exportando, entonces alguna otra función que sí se exporta, está llamando a esa función no exportada. Prueba el método exportado, y estarás probando indirectamente el no exportado.

Artículos relacionados