Имам приложение, което е създадено с Webpack, което се тества с Jest. Наскоро актуализирах Jest до версия 0.8.0 и Node до версия 5.
Имам тестове за няколко компонента, които четат от global.location
, Преди това бих си задал global.location така:
global.location = {
hash: "#hash"
};
Това работи добре до надстройката; сега никой от компонентите, използващи глобална работа, и когато отпечатвам global.location получавам:
Location {}
Изглежда, че сега има някаква външна библиотека, която се опитва да се подиграе с обекта за местоположение на прозореца ... някакви идеи как да се справим с това?
Отговори:
3 за отговор № 1Добре, разбрах това, докато изписвах въпроса: ^ P
Изглежда проблемът беше в това jsdom
, която се използва от Jest, е в по-нововерсии, опитващи се да се подиграят с обекта за местоположение. Изходният код показва, че внедряването все още е малко наполовина, но аз успях да заобиколя конкретния си проблем с:
global.location.replace("#hash");