2016-09-17 32 views
0

我請點擊此鏈接「https://github.com/airbnb/enzyme/blob/master/docs/api/shallow.md」寫爲下面的單元測試DOM數量:如何指望因果報應+酶

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文檔,瞭解如何使用expect。 –

+0

to.have.length是chai語法的一部分。如果使用chai.toBe()或toEqual()是expect語法的一部分,則可以使用該語法。所以這取決於你用什麼斷言 –

+0

我是新的業力和JS單元測試。我沒有找到任何我使用柴或不。你能讓我知道我可以設置什麼語法嗎? –