2016-09-17 2 views
0

я следую этой ссылке «https://github.com/airbnb/enzyme/blob/master/docs/api/shallow.md», чтобы написать модульный тест, как показано ниже:Как рассчитывать количество йота в карме + ферменте

import { shallow } from 'enzyme'; 
import React from 'react'; 

import TextField from 'material-ui/TextField' 
describe('Question Test Suite',() => { 

    it('should render one <TextField/> components',() => { 
    const wrapper = shallow(<QuestionForm />, { context: {router: {} }}); 
    expect(wrapper.find(TextField)).to.have.length(1); 
    }); 

}); 

при запуске тестового примера я получил ниже ошибок:

TypeError: expect(...).length is not a function 
TypeError: Cannot read property 'have' of undefined 

Что случилось с моим тестовым случаем? Там чего-то не хватает?

ответ

1

Ваш синтаксис неверен. Нижеприведенный синтаксис должен работать нормально.

expect(wrapper.find('TextField').length).toEqual(1); 
+0

Я пробовал, что и он работает. Я просто блуждаю, почему мой синтаксис неверен. Я следовал за документом фермента. Если это не так, где я могу найти официальный документ api для использования в ожидании. –

+0

to.have.length является частью синтаксиса chai. Вы можете использовать это, если используете chai.toBe() или toEqual() является частью синтаксиса ожидания. Так что это зависит от того, что вы используете для утверждений. –

+0

Я новичок в тестах на карму и js. Я не нашел нигде, где я использую чай или нет. Не могли бы вы сообщить мне, какой синтаксис я могу установить? –

Смежные вопросы