Enzymeのshallowレンダリング
2760 ワード
shallow renderingは、コンポーネントを1つのユニットとしてテストし、サブコンポーネントの動作によって直接断言されないことを確認します(Shallow rendering is useful to constrain yourself to testing a component as a unit,and to ensure that your tests aren't indirectly asserting on behavior of child components.)
node(ReactElement)レンダーするノード options(オブジェクト[オプション]): options.context:(オブジェクト[オプション]):コンポーネントに渡されるContext
ShallowWrapper:これはcheerioの解析オブジェクトです
.find(selector)=>ShallowWrapper一致するすべてのノード を見つける .findWhere(predicate)=>ShallowWrapperは、すべてのレンダリングツリーの下で関数内の判断を満たすノード を見つけます. .フィルタ=>ShallowWrapperフィルタ一致ノード .filterWhere(predicate) => ShallowWrapper .contains(nodeOrNodes) => Boolean .containsMatchingElement(node) => Boolean .containsAllMatchingElements(nodes) => Boolean .containsAllMatchingElements(nodes) => Boolean .equals(node) => Boolean .matchesElement(node) => Boolean .hasClass(className) => Boolean .is(selector) => Boolean .isEmpty() => Boolean .not(selector) => ShallowWrapper .children() => ShallowWrapper .childAt(index) => ShallowWrapper .parents() => ShallowWrapper .parent() => ShallowWrapper .closest(selector) => ShallowWrapper .shallow([options]) => ShallowWrapper .render() => CheerioWrapper
ここを参照して、一つ一つ列挙しないで、方法とjQuery
import { shallow } from 'enzyme';
describe('', () => {
it('should render three components', () => {
const wrapper = shallow();
expect(wrapper.find(Foo)).to.have.length(3);
});
it('should render an `.icon-star`', () => {
const wrapper = shallow();
expect(wrapper.find('.icon-star')).to.have.length(1);
});
it('should render children when passed in', () => {
const wrapper = shallow(
);
expect(wrapper.contains(
)).to.equal(true);
});
it('simulates click events', () => {
const onButtonClick = sinon.spy();
const wrapper = shallow(
);
wrapper.find('button').simulate('click');
expect(onButtonClick.calledOnce).to.equal(true);
});
});
shallow(node[, options]) => ShallowWrapper
パラメータ
戻る
ShallowWrapper:これはcheerioの解析オブジェクトです
API
ここを参照して、一つ一つ列挙しないで、方法とjQuery