3
私は酵素を使用しています。私は子としてリンクルータのリンクを持っているコンポーネントをテストする必要があります。私はそれの特性が変化したときの全体構成ツリーを構成要素の 反応ルータを含む試験成分酵素とのリンク
- 酵素のマウント()を使用して部品を実装する必要があります。
酵素はルートレベルでのみsetProps()を許可するので、StaticRouterまたはMemoryRouterでコンポーネントをラップすることはできません。
私の現在の解決策は、リンクレンダリングメソッドをsinonでスタブすることです。ここに簡単な例があります。
import {Link} from 'react-router-dom';
import sinon from 'sinon';
// ....
// ....
describe('test',() => {
before(() => {
sinon.stub(Link.prototype, 'render').callsFake(function reactRouterLinkRender() {
const {innerRef, replace, to } = this.props;
const _props = {href: to, ref: innerRef, replace, onClick: this.handleClick};
return (<a {..._props}>this.props.children</a>);
});
});
});
はエラー「:あなたは、ルータ外のリンクを使用してはならない不変違反」を避けるために良い方法はありますか? おかげ