Я узнаю о тестовых случаях с жасмином и кармой.Я сделал угловой сервис, который обновляет некоторые записи в базе данных.Я создавал тестовые случаи раньше, на самом деле не эксперт, но никогда не для методов, которые помещают обновления в базу данных.
Это мой основной сервис с одним методом:
import { Injectable } from '@angular/core';
import {HttpClient} from "@angular/common/http";
@Injectable({
providedIn: 'root'
})
export class WordsService {
constructor(protected http: HttpClient) {}
associate(uuid: string, item):any {
const url = 'update/associate' + uuid;
this.http.put(url, item).subscribe(response => {
return response;
}, error => {
console.log(error)
});
}
}
И мойtest выглядит следующим образом.
describe('WordsService', () => {
let httpMock: HttpTestingController;
let ordsService: WordsService;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [WordsService]
});
});
httpMock = getTestBed().get(HttpClientTestingModule);
sentimentTuningService = getTestBed().get(SentimentTuningService);
it('should be updated', inject([SentimentTuningService], async(service: WordsService) => {
expect(service).toBeTruthy();
let mockWordId: string = "37945b85-f6a8-45fd-8864-f45f55df8c78";
let mockData = {
label: "My Cool label",
word_config: "c836468f-1fb4-4339-b5a1-ebf72aa1c6a5",
uuid: "37945b85-f6a8-45fd-8864-f45f55df8c78",
};
WordsService.associate(mockWordId, mockData)
.subscribe(result => {
expect(result.status).toBe(201);
});
}));
});
Я не знаю точно, как предполагается подделать / смоделировать обновление в базе данных, и на самом деле, я не знаю, правильно ли я поступаю.
Очевидно, у меня проблемы с запуском теста.
Можете ли вы помочь мне дать представление о том, как мне нужнопроверить этот сервис?