2016-05-02 41 views
7

Jest testlerini çalıştıramıyor ve çok belirsiz bir hata mesajına sahip değilim. StackOverflow'ta benzer bir sorun buldum ve bunu node_module'deki tepki klasörüne jestSupport ekleme önerileriyle çözemedim.Çalışma zamanı hatası Jest Çalıştırılıyor: React

konu başvurulan: How to use Jest with React Native

__tests__/profile-test.js 
● Runtime Error 
TypeError: Cannot read property 'DEFINE_MANY' of undefined 

// Pasaj

"scripts": { 
    "test": "jest" 
    }, 
    "jest": { 
    "scriptPreprocessor": "<rootDir>/node_modules/babel-jest" 
    }, 

// test

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import TestUtils from 'react-addons-test-utils'; 
import Profile from '../components/profile'; 
jest.setMock('react', {}); // put this in after reading a troubleshooting article 

//jest.autoMockOff(Profile); 


     describe('Profile'),() => { 

     it("renders a form containing user information", function() { 
      let Profile = TestUtils.renderIntoDocument(<Profile/>); 
      let renderedDOM =() => React.findDOMNode(Profile); 

      expect(renderedDOM.tagName).toBe('div'); 
      expect(renderedDOM.classList).toEqual(['value', 'image', 'btn btn-primary', 'btn btn-danger' ]); 

      var children = renderedDOM.querySelectorAll('fieldConfig.type'); //created a custom 
      expect(children.length).toBe(3); 
      expect(children[0]).toEqual({name: 'test mc nameyname', email: '[email protected]'}); 
      }); 
     }; 

Herkes önce bu sorunu çalıştırmak Has dosya, & package.JSON dan önerileriniz var mı?

+0

Bir çözüm buldunuz mu? – inquisitive

+0

Üzgünüm, yapmadım. Bir meslektaşla konuştuktan sonra hata mesajlarının anlaşılması için Mocha, Chai ve Enzyme'a açıkça karar verdim. –

cevap

2

Anlatabildiğim kadarıyla, tüm modüllerin alaylı sürümlerini gerektirirsiniz.

deneyin dosyasının en üstünde

jest.dontMock('react') 
jest.dontMock('react-dom') 
jest.dontMock('react-addons-test-utils') 
jest.dontMock('../components/profile') 

koyarak.

jest.setMock('react', {}); 

bütün bunlar deneyin ve bildiğim kadarıyla çalışması gerekir söyleyebilir:

Ben de kurtulmak istiyorum. "Komut" benim için çalıştı olarak

9

aynı seviyede benim package.json bu koyarak:

"jest": { 
    "unmockedModulePathPatterns": [ 
    "react" 
    ] 
} 

Ben benim test dosyasının en üstünde herhangi jest.dontMock ifadeleri yoktu. Sadece test edilen modül için jest.unmock kullandım.

+0

Bu benim için de sorunu çözdü, ama neden bir ipucu yok. –

İlgili konular