Cas*_*ams 7 javascript mocha.js reactjs
我刚刚将项目的React版本升级到13.3并且setProps()不再有效.我在这个摩卡测试中使用它,我不知道如何重写它.我有什么选择?
it('reloads search results when props change ', function() {
var loadResultsSpy = sinon.spy(searchView, 'loadSearchResults');
var newProps = {searchBy: 'foo', searchTerm: 'bar'};
searchView.setProps(newProps);
expect(loadResultsSpy.calledWith(newProps.searchBy, newProps.searchTerm)).toBe(true);
});
Run Code Online (Sandbox Code Playgroud)
在最常见的情况下,React建议只重新渲染顶级组件,如果新渲染具有相同的组件类型,则基本上只更新props.因为TestUtils.renderIntoDocument它只是创建DOM节点并对其进行常规渲染的快捷方式,所以这样的东西都可以工作(我对测试的设置做了一些假设):
var searchView, div;
beforeEach(function() {
var comp = <SearchView searchBy="baz" searchTerm="quix" />;
div = document.createElement('div');
searchView = React.render(comp, div);
});
it('reloads search results when props change', function() {
var loadResultsSpy = sinon.spy(searchView, 'loadSearchResults');
var comp = <SearchView searchBy="foo" searchTerm="bar" />;
React.render(comp, div);
expect(loadResultsSpy.calledWith("foo", "bar")).toBe(true);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3892 次 |
| 最近记录: |