カルマ+ジャスミン、 私はonClick
ハンドラに、すべての機能が呼び出されていることを確認しようとしているが、テストが偽の結果を返す使用して、コンポーネントに反応をテストしようとすると:ReactTestUtils.Simulate.clickテストのジャスミンspyOnが失敗した
`Expected spy reportLoginWithEmail to have been called.`
は私のコンポーネントです:
<a className="sign-in-with-email" onClick={this.signInWithEmail}>
Or Sign in with your Email
</a>
signInWithEmailハンドラ:
signInWithEmail = (event) => {
event.preventDefault();
this.setState({
isEmailSignIn: true
});
biActions.reportLoginWithEmail();
};
テスト:別の側では
describe('SignIn',() => {
let component, biActions;
beforeEach(() => {
component = TestUtils.renderIntoDocument(<SignIn/>);
biActions = require('../../../actions/BIActions');
spyOn(biActions, 'reportLoginWithEmail');
});
it('test clicking on login by email call function',() => {
let signInEmail = TestUtils.findRenderedDOMComponentWithClass(component, 'sign-in-with-email');
TestUtils.Simulate.click(signInEmail);
expect(biActions.reportLoginWithEmail).toHaveBeenCalled();
});
});
state
変更リターンtrue
のテスト:
it('test clicking on login by email change state',() => {
let signInEmail = TestUtils.findRenderedDOMComponentWithClass(component, 'sign-in-with-email');
TestUtils.Simulate.click(signInEmail);
expect(component.state.isEmailSignIn).toBe(true);
});
私は、任意の提案を何をしないのですか?