У меня есть следующий метод, и мне нужно провести тестирование при использовании Жасмин и Карма. Насколько я знаю, это subscribe
, который не выполняется. Во время тестирования переменные addedToDB
и existingInDB
не обновляются, и мое тестирование хочет подтвердить, что они ложные.
addBank(name: string, country: string, pageurl: string, fromcurrency: string,
tocurrencyxpath: string, buyxpath: string, sellxpath: string, unit: string) {
this.service.postBank(name, country, pageurl, fromcurrency, tocurrencyxpath, buyxpath, sellxpath, unit).subscribe(
data => {
console.log('POST executed', data);
if (name === '' || country === '' || pageurl === '' || fromcurrency === ''
|| tocurrencyxpath === '' || buyxpath === '' || sellxpath === ''
|| unit === '') {
this.openSnackBar('Please fill all the areas', '');
this.addedToDB = false;
this.existingInDB = false;
} else ...
На данный момент тестирование:
it('should reject the bank - unsufficient info', async () => {
const add = new AddBanksComponent(service, snackbar);
add.addBank('Danske Bank', 'DK',
'http://danskebank.dk', 'DKK',
'abcdefghijklm', 'abcdefghijklm',
'abcdefghijklm', '');
console.log('mock ' + add.addedToDB);
console.log('mock ' + add.existingInDB);
await fixture.whenStable();
fixture.detectChanges();
expect(add.addedToDB).toEqual(false);
expect(add.existingInDB).toEqual(false);