Pracuję nad projektem React-Native przy użyciu TypeScript. Aby napisać moje testy jednostkowe, chciałbym użyć babel-plugin-rewire, aby sfałszować moje importowanie modułów. Jednak TypeScript dodaje przyrostek _1
na końcu importu podczas konwersji z ES6 na ES5, co powoduje przerwanie mojego kodu testowego.Używanie programu Rewire z TypeScript
Rozważmy następujący:
import Test from 'test-file';
to może być przekształcony przez maszynopis do:
var test_file_1 = require('test-file');
mock klasy badanie przy użyciu wtyczki ReWire musiałbym napisać:
ComponentToTest.__Rewire__('Test', TestMock);
, ale od czasu, gdy import został zmieniony, spowoduje to przerwę.
Chociaż jest to by design, chciałbym wiedzieć, czy są jakieś obejścia.
Dzięki.
Jak udało ci się importować przetestowany moduł do specyfikacji plik (np. 'import {SomeClass, __Rewire__} z '../ src/SomeClass';')? Kiedy próbuję uruchomić test, kompilator wypisze następujący błąd '" SomeClass "nie ma wyeksportowanego elementu '__Rewire __''. P.S. Pliki spec są również napisane w TypeScript. –