Le importazioni e le esportazioni in ES2015 sono parte del linguaggio stesso e sono progettate per essere analizzate staticamente. Pertanto non possono essere manipolati in fase di runtime e ciò rende impossibile il mocking dinamico.
Si consiglia di dare un'occhiata all'implementazione di una qualche forma di framework di distribuzione delle dipendenze leggero o di un resolver di modulo dinamico.
SystemJS potrebbe essere una buona scelta per voi come caricatore di moduli universale.
Spero che questo aiuti!
fonte
2015-10-12 19:19:22
Questo in realtà non ha nulla a che fare con ES6, ma con il caricatore di moduli che si sta utilizzando. le dipendenze di auto-mock jest: http://facebook.github.io/jest/ –
@FelixKling Ha tutto a che fare con ES6. CommonJS è facile da deridere con proxyquire, ma è più complicato da risolvere con le importazioni ES6. Conosco alcune soluzioni, ma sto ancora cercando una soluzione migliore. Vorrei riaprire questa domanda per vedere quali soluzioni hanno trovato gli altri. come hai detto è una soluzione, ma potrebbe non essere la soluzione perfetta per tutti, e non ha risposto a come risolverlo con Mocha. – gregers
@FelixKling +1 per la riapertura. Questa domanda non è una domanda di nodejs, piuttosto è una ES6. 'require' e' import' funzionano in modo molto diverso. – atoth