2015-10-12 10 views
5

Mam zestaw testowy z mocha, babel i węzła, który jest przeznaczony do testowania kodu ecmascript 6.Jak mogę sfałszować importowany moduł w ecmascript 6?

Czy ktoś ma sugestie, jak pozorować import w badanym module?

+1

To nie ma nic wspólnego z ES6, ale z ładowarką modułu, z której korzystasz. jest zależnością auto-mocks: http://facebook.github.io/jest/ –

+0

@FelixKling Ma to wszystko, co ma związek z ES6. CommonJS można łatwo kpić z proxyquire, ale jest to bardziej skomplikowane rozwiązanie przy imporcie ES6. Znam kilka rozwiązań, ale wciąż szukam lepszego. Chciałbym ponownie otworzyć to pytanie, aby zobaczyć, jakie rozwiązania znaleźli inni. jest, jak wspomniałeś, jednym z rozwiązań, ale może nie być idealnym rozwiązaniem dla wszystkich, i nie odpowiedział, jak rozwiązać problem z Mocha. – gregers

+0

@FelixKling +1 do ponownego otwarcia. To pytanie nie jest pytaniem nodejs, a raczej jest to ES6. 'require' i' import' działa bardzo różnie. – atoth

Odpowiedz

1

Import i eksport w ES2015 są częścią samego języka i mają na celu analizę statyczną. Dlatego nie można ich zmanipulować w czasie wykonywania, co uniemożliwia dynamiczne kpiny.

Polecam, aby rzucić okiem na wdrożenie pewnej formy lekkiego szkieletu zależności zastrzyku lub dynamicznego modułu rozpoznawania.

SystemJS może być dobrym wyborem dla Ciebie jako uniwersalnego modułu ładującego moduły.

Nadzieję, że pomaga!

Powiązane problemy