मैं जेस्ट में नया हूं, मैं परीक्षण के लिए इसका उपयोग करने की कोशिश कर रहा हूं कि क्या एक फ़ंक्शन को बुलाया गया था या नहीं। मैंने देखा कि mock.calls.length हर टेस्ट के लिए रीसेट नहीं हो रहा है, लेकिन जमा हो रहा है। मैं हर परीक्षण से पहले इसे 0 कैसे बना सकता हूं? मैं नहीं चाहता कि मेरा अगला परीक्षण पिछले परिणामों पर निर्भर हो।
मुझे पता है कि जेस्ट में पहले भी कोई है - क्या मुझे इसका उपयोग करना चाहिए? Mock.calls.length को रीसेट करने का सबसे अच्छा तरीका क्या है? धन्यवाद।
एक कोड उदाहरण:
योग:
import local from 'api/local';
export default {
addNumbers(a, b) {
if (a + b <= 10) {
local.getData();
}
return a + b;
},
};
Sum.test.js
import sum from 'api/sum';
import local from 'api/local';
jest.mock('api/local');
// For current implementation, there is a difference
// if I put test 1 before test 2. I want it to be no difference
// test 1
test('should not to call local if sum is more than 10', () => {
expect(sum.addNumbers(5, 10)).toBe(15);
expect(local.getData.mock.calls.length).toBe(0);
});
// test 2
test('should call local if sum <= 10', () => {
expect(sum.addNumbers(1, 4)).toBe(5);
expect(local.getData.mock.calls.length).toBe(1);
});
local.mockClear()
करता हूं तो यह काम नहीं करता है।