Widziałem post this post i byłem podekscytowany wypróbowaniem go, ale nie mogę go uruchomić. Stara się zachować to proste, tylko po to, aby dowiedzieć się, co jest nie tak, ale nawet to się nie udaje.Jak uruchomić spyOnProperty Jasmine?
export class SomeService {
...
private _myValue: Boolean = false;
get myValue(): Boolean {
return this._myValue;
}
set myValue(helper: Boolean) {
this._myValue = helper;
}
I w moim badanej jednostki, mam:
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);
}));
kładę wartości aż wierzch się wyraźnie pokazują mogę uzyskać i ustawić wartość. To nie ma problemów. Wallaby pokazuje ReferenceError: spyOnProperty nie jest zdefiniowane w linii spyOnProperty. Nie jestem pewien, czy to pomaga, ale błędy, które stawiam powyżej, były tym, co daje mi karma, gdy przeprowadzam te testy.
Każdy, kto to zrobił, bardzo bym sobie z tego poradził. Przepraszam za wszelkie literówki, patrzyłem na to przez większość dnia.
Może to pomoże: [podobny problem] (http://stackoverflow.com/questions/33148496/how-can-i-spy-on-a-getter-property-using-jasmine) –
Że był właściwie postem, który łączyłem. – Angelo