У меня есть служба, которая делает HTTP-вызов к моему бэкэнду, я пытаюсь проверить, получит ли он ответ пользователей, после запуска теста я получаю Spec has no expectation
, хотя у меня есть один в подписке. Все эти тесты пройдены, но 2 имеет результат SPEC HAS NO EXPECTATION
вот мой код:
describe('Auth Service Testing', () => {
let httpClientSpy: { get: jasmine.Spy };
let authServ: AuthService;
let authAct: AuthActions;
let userAct: UserActions;
let checkoutAct: CheckoutActions;
let productAct: ProductActions;
let store: Store<any>;
let localStorageServ: LocalStorageService;
let authResponse;
const expectedUserResponse = {
users: [],
count: 25,
current_page: 1,
pages: 2
};
beforeEach(() => {
httpClientSpy = jasmine.createSpyObj('HttpClient', ['get']);
authServ = new AuthService(
<any>httpClientSpy,
authAct,
userAct,
checkoutAct,
productAct,
store,
localStorageServ
);
});
it('should get users response', () => {
httpClientSpy.get.and.returnValue(asyncData(expectedUserResponse));
authServ.authorized().subscribe((users) => {
authResponse = users;
expect(users).toEqual(jasmine.objectContaining({ users: [] }));
});
});
it('should equal to expected users response', () => {
expect(authResponse).toEqual(expectedUserResponse);
});
it('should return null if theres an error', () => {
httpClientSpy.get.and.returnValue(asyncError(expectedUserResponse));
authServ
.authorized()
.subscribe(() => {}, (error) => expect(error).toBe(null));
});
});
Кроме того, я следовал руководству по тестированию углового HTTP тесту angular. Мне интересно, баг или еще что.
результаты кармы:
Auth Service Testing
SPEC HAS NO EXPECTATIONS should return null if there's an error
SPEC HAS NO EXPECTATIONS should get users response
should equal to expected users response
ОБНОВЛЕНИЕ
Отсутствует следующий код: expect(httpClientSpy.get.calls.count()).toBe(1);
это странно, я думал, что этот вызов делает HTTP-запрос на получение httpClientSpy.get.and.returnValue(asyncError(expectedUserResponse));
но в тесте на ошибку в руководстве у них этого нет. Может ли кто-нибудь пролить свет на это?
много любви из Северной Кореи. ‹3