मैंने this post पोस्ट देखा और इसे आजमाने के लिए उत्साहित था, लेकिन मैं इसे काम करने में असमर्थ हूं। क्या गलत है यह जानने के लिए बस इतना आसान रखने की कोशिश कर रहा है, लेकिन यह भी असफल रहा है।जैस्मीन के spyOnProperty को काम करने के लिए कैसे प्राप्त करें?
export class SomeService {
...
private _myValue: Boolean = false;
get myValue(): Boolean {
return this._myValue;
}
set myValue(helper: Boolean) {
this._myValue = helper;
}
और मेरी इकाई परीक्षण में, मेरे पास है:
it('should ', inject([SomeService], (someService: SomeService) => {
let oldValue = someService.myValue;
expect(oldValue).toBe(false); // passes, clearly we can use our getter
someService.myValue = true;
expect(someService.myValue).toBe(true); // passed, clearly the setter worked
spyOnProperty(someService, 'myValue', 'getter').and.returnValue(false); // Property myValue does not have access type getter
//spyOnProperty(someService, 'myValue', 'get').and.returnValue(false);same error if tried this way
expect(someService.myValue).toBe(false);
}));
मैं मान शीर्ष डाल स्पष्ट रूप से दिखाने मैं और मूल्य निर्धारित कर सकते हैं करने के लिए। इसमें कोई समस्या नहीं है। वाल्बी रेफरेंस एरर दिखाती है: spyOnProperty spyOnProperty लाइन पर परिभाषित नहीं है। मुझे यकीन नहीं है कि इससे मदद मिलती है, लेकिन मैंने जो त्रुटियां उपरोक्त रखी हैं, वे थे जब मैं उन परीक्षणों को चलाता हूं।
कोई भी जिसने इसे काम करने के लिए प्राप्त किया है, मैं सहायता की बहुत सराहना करता हूं। किसी भी टाइपो के लिए माफ़ी, मैं इस दिन के अधिकांश दिनों में देख रहा हूं।
हो सकता है कि यह मदद कर सकते हैं: [समान मुद्दा] (http://stackoverflow.com/questions/33148496/how-can-i-spy-on-a-getter-property-using-jasmine) –
कि वास्तव में पोस्ट मैं जुड़ा था। – Angelo