# 1 जेस्ट का उपयोग करना
इस तरह से मैं जेस्ट मॉक कॉलबैक फ़ंक्शन का उपयोग करके क्लिक इवेंट का परीक्षण कर सकता हूं:
import React from 'react';
import { shallow } from 'enzyme';
import Button from './Button';
describe('Test Button component', () => {
it('Test click event', () => {
const mockCallBack = jest.fn();
const button = shallow((<Button onClick={mockCallBack}>Ok!</Button>));
button.find('button').simulate('click');
expect(mockCallBack.mock.calls.length).toEqual(1);
});
});
मैं एंजाइम नामक एक मॉड्यूल का भी उपयोग कर रहा हूं । एंजाइम एक परीक्षण उपयोगिता है जो आपके रिएक्ट घटकों को मुखर करना और चुनना आसान बनाता है
# 2 सिनॉन का उपयोग करना
इसके अलावा, आप सिनॉन नामक एक अन्य मॉड्यूल का उपयोग कर सकते हैं जो जावास्क्रिप्ट के लिए एक स्टैंडअलोन परीक्षण जासूस, स्टब्स और मोक्स है। यह इस तरह दिखता है:
import React from 'react';
import { shallow } from 'enzyme';
import sinon from 'sinon';
import Button from './Button';
describe('Test Button component', () => {
it('simulates click events', () => {
const mockCallBack = sinon.spy();
const button = shallow((<Button onClick={mockCallBack}>Ok!</Button>));
button.find('button').simulate('click');
expect(mockCallBack).toHaveProperty('callCount', 1);
});
});
# 3 अपनी खुद की जासूस का उपयोग करना
अंत में, आप अपना खुद का भोला जासूस बना सकते हैं (मैं इस दृष्टिकोण की सिफारिश नहीं करता हूं जब तक कि आपके पास इसका कोई वैध कारण न हो)।
function MySpy() {
this.calls = 0;
}
MySpy.prototype.fn = function () {
return () => this.calls++;
}
it('Test Button component', () => {
const mySpy = new MySpy();
const mockCallBack = mySpy.fn();
const button = shallow((<Button onClick={mockCallBack}>Ok!</Button>));
button.find('button').simulate('click');
expect(mySpy.calls).toEqual(1);
});