2016-09-17 45 views
8

prosty test żartem tylko do sprawdzenia, czy składnik reakcji może spowodować, i to nie dlatego, że importMeteor reagować Testowanie żartem

import { Meteor } from 'meteor/meteor'

pełne błędów jest ...

PASS imports/__partials/Navigation/__tests__/Navigation.jest.js 
PASS imports/__layouts/AuthLayout/__tests__/AuthLayout.jest.js 
FAIL imports/features/oAuth/ui/LoginLayout/__tests__/LoginLayout.jest.js 
    ● Test suite failed to run 

    Cannot find module 'meteor/meteor' from 'index.js' 

     at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:142:17) 
     at Object.<anonymous> (imports/features/oAuth/ui/LoginLayout/index.js:2:41) 
     at Object.<anonymous> (imports/features/oAuth/ui/LoginLayout/__tests__/LoginLayout.jest.js:4:40) 

PASS imports/staticTests/quickCheckboxTest/__tests__/CheckboxWithLabel.jest.js 
PASS imports/staticTests/quickLinkTest/__tests__/Link.react.jest.js 

I Zamierzam to założyć, ponieważ meteor nie buduje, a zatem nie istnieje, żadna pomoc w uzyskaniu tego nie będzie działać. :)

Edit ...

miałem rację w moim założeniu, że to przede wszystkim dlatego, że meteor nie ma wbudowane moduły NPM.

+0

Okej, więc wydaje mi się, że mam rację, aby rozwiązać ten problem, myślę, że musiałbym napisać pakiet sterowników dla jaśminu i uruchomić żart po uruchomieniu meteoru ... Zamiast tego użyję mokki :( –

Odpowiedz

10

Można łatwo skrótową moduły Meteor pomocą "moduleNameMapper" w pliku konfiguracyjnym JEST:

"moduleNameMapper": { 
    "^meteor/(.*)": "<rootDir>/meteorMocks.js" 
} 

I meteorMocks.js:

export const Meteor = { 
    call:() => null, 
    // ... more stuff you'd like to mock on the Meteor object 
}; 

Następnie można zrobić

import { Meteor } from 'meteor/meteor'; 

w swoich plikach testowych.

Po prostu zrób to samo ze wszystkimi modułami, które musisz udawać (np. Tracker lub ReactiveVar).

+0

Stary, to jest stare pytanie ALE podoba mi się twoja odpowiedź i sprawdzanie jest ASAP, następnie zatwierdzenie! –

+0

Pozdrawiam faceta :) Natrafiłem na ten sam problem i znalazłem to. Pomyślałem, że podzielę się moim rozwiązaniem. – chmanie

+0

Oto blog napisany przez meteor [Real-World Unit Tests with Meteor and Jest] (https://blog.meteor.com/real-world-unit-tests-with-meteor-and-jest-3d557e84e84a) wyjaśnia, jak używać żartu do testowania. Odnosi się to do tej odpowiedzi ;-) –