2017-11-20 1 views
0

Warum ist .find keine Funktion im folgenden Code-Kontext?Enzymtest: TypeError: expect (...). Find ist keine Funktion

import React from 'react'; 
import { shallow } from 'enzyme'; 
import toJson from 'enzyme-to-json'; 
import { AuthorizedRoutesJest } from './AuthorizedRoutes'; 

// Components 
import { 
    Main 
} from '../../components'; 

const wrapper = shallow(<AuthorizedRoutesJest />); 

describe('<AuthorizedRoutes /> component',() => { 
    it('should render',() => { 
    const tree = toJson(wrapper); 
    expect(tree).toMatchSnapshot(); 
    expect(wrapper).toHaveLength(1); 
    }); 

    it('should contain a Main component',() => { 
    expect(wrapper).find(Main).toHaveLength(1); 
    }); 
}); 

Summary of all failing tests FAIL client/containers/Routes/AuthorizedRoutes.test.js

AuthorizedRoutes component › should contain a Main component

TypeError: expect(...).find is not a function

Antwort

0

Ich war .find falsch

Hier verwendet, ist ein Beispiel dafür, wie find verwenden:

it('should contain a ConnectedRouter component',() => { 
    expect(wrapper.find(ConnectedRouter)).toHaveLength(1); 
}); 

it('should contain a Switch component',() => { 
    expect(wrapper.find(Switch)).toHaveLength(1); 
}); 

it('should contain 7 Route components',() => { 
    expect(wrapper.find(Route)).toHaveLength(7); 
}); 
Verwandte Themen