我的测试代码如下:
it('makes sure the list items are populated', () => {
var view = ReactTestUtils.renderIntoDocument(<Sidebar />)
var result = view.populateLi();
expect(result).toBe(Array);
});
结果应该是称为ListItem
的组件数组。
Expected: [Function Array]
Received: [<ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />, <ListItem … />]
如何编写与Received
场景匹配的测试。
答案 0 :(得分:0)
使用scryRenderedComponentsWithType:
var result = TestUtils.scryRenderedComponentsWithType(view, ListItem);
由于这将返回Array
中的ListItem
,因此您所需要做的就是检查数组的长度是否符合您的期望:
expect(result).length.to.equal(12); // or however many you expect
如果您想检查自己的populateLi
函数是否正常工作,则应该进行单独的测试:
var result = TestUtils.scryRenderedComponentsWithType(view, ListItem);
var populateResult = view.populateLi();
expect(result).to.deep.equal(populateResult)