मेरे पास एक साधारण परीक्षण सूट है जिसमें इसके अंदर एक it
फ़ंक्शन है। मैं एक निश्चित समारोह समारोह मैं फोन कर रहा हूँ के भीतर कहा जाता है अगर देखना चाहते हैं, तो मैं कुछ इस तरह है:मुझे पहले से ही() में spyOn क्यों कॉल करना है?
describe("doStuff", function() {
var foo = new Foo();
spyOn(foo, "doOtherStuff");
foo.doStuff(true);
it("should do stuff and other stuff", function() {
expect(foo.stuffDone).toBe(true);
expect(foo.doOtherStuff).toHaveBeenCalled();
});
});
बहरहाल, यह मुझे त्रुटि देता है: Expected a spy, but got Function.
कुछ चारों ओर देखने के बाद, मैंने देखा कि सभी उदाहरणों में spyOn
beforeEach
में था। इसलिए, मैंने अपना परीक्षण बदल दिया:
describe("doStuff", function() {
var foo = new Foo();
beforeEach(function() {
spyOn(foo, "doOtherStuff");
foo.doStuff(true);
});
it("should do stuff and other stuff", function() {
expect(foo.stuffDone).toBe(true);
expect(foo.doOtherStuff).toHaveBeenCalled();
});
});
और यह काम करता है। मैं चमेली के लिए काफी नया हूं, इसलिए मुझे कुछ स्पष्ट याद आ रहा है, लेकिन मैं सिर्फ यह जानना चाहता हूं कि इसे में spyOn
के लिए काम क्यों करना है। beforeEach
का उपयोग करना इतना आसान है, लेकिन मैं समझना चाहता हूं कि क्या हो रहा है। धन्यवाद।