例として、Make React PropType warnings throw errors with enzyme.js + sinon.js + mocha.jsを使用しました。シントンによる反応型の試験
私は1つの必要な小道具と反応する成分を持っている:
class Pagination extends Component {
render() {
return (
... render some stuff
);
}
}
Pagination.propTypes = {
total: PropTypes.number.isRequired
};
を、これはそれのためのテストです:
describe('(Component) Pagination',() => {
before(() => {
sinon.stub(console, 'error', (warning) => { throw new Error(warning) })
})
after(() => { console.error.restore() })
it('render fails without props',() => {
shallow(<Pagination />);
});
it('render fails without props2',() => {
shallow(<Pagination />);
});
});
実行した後にそれが最初のクラッシュをテストしたが、二 - ではありません。テストは似ています。 Reactが警告メッセージを1回だけ投げるというのは問題だと思います。 これを避ける方法は?
2つのテストが必要です:1つは小道具が設定されていないときにクラッシュし、もう1つは小道具でうまく動作します。
Pagination.displayName = Math.random().toString();
あなたはそれがあるため、同じ構成要素であることを明らかに正しかった、とあなたは、各テストの前にそれトリックそれを、これを行う場合:
だから、各テストの後にbeforeEach()とafterEach()をクリーンアップしようとしましたか?もしそうなら、それはあなたのために働いたのですか? – PositiveGuy