2017-10-01 1 views
0

Je serais heureux de faire des tests unitaires à composant dans la liste de choses à faire simple.Check in enzym-react combien de fois j'ai dans le composant

Ceci est le composant:

import React, { Component } from 'react'; 
import Task from '../Task'; 

export default class TaskList extends Component { 

    render() { 
     let tasks = this.props.items.map((item,index)=> <Task key={index} item={item} />) 

     return (
      <ul>{tasks}</ul> 
     ) 
    } 

Et ceci est le test:

import TaskList from './'; 
import Task from '../Task'; 

describe('<TaskList}/>',() => { 
    let wrapper; 
    beforeEach(()=>{ 
     wrapper = shallow(<TaskList items={["item 1", "item 2"]} />); 
    }) 


    it('should have 2 list items',() => { 
     expect(wrapper.find('ul')).to.have.length(1); 
    }) 

}); 

Peu importe ce que j'entre en elemnts des "éléments" (ce sont les accessoires du composant) - le montant de 'ul' est allégment juste un.

Quel est le problème avec ce test? Comment puis-je vérifier combien de «ul» se trouvent dans le composant?

Répondre

0

Afin de vérifier combien de 'ul' dans le composant que nous devrions utiliser la fonction de chai: .childern(), comme ceci:

it('should have 2 list items',() => { 
    expect(wrapper.find('ul').children()).to.have.length(2); 
})