7
ile Angular2/TypeScript borusunu test etme
Çok temel Jasmine testleri ile bir Tipik TipScript uygulama kurulumu olan bir Angular2 var. Borularımdan birini test etmek istiyorum. html şablonunaJasmine
lpad.pipe.ts
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
name: 'lpad'
})
export class LPadPipe implements PipeTransform {
transform(value: any, args: string[]): any {
let pad = args[0];
return (pad + value).slice(-pad.length);
}
}
kullanımı:
{{size.SizeCode | lpad:['0000']}}
lpad.pipe.spec.ts - My testi (çalışmıyor)
import { LPadPipe } from './lpad.pipe';
describe('LPadPipe'),() => {
let pipe: LPadPipe;
beforeEach(() => {
pipe = new LPadPipe();
});
it('transforms "1" to "0001"',() => {
let value: any = "1";
let args: string[] = ['0000'];
expect(pipe.transform(value, args)).ToEqual('0001')
});
}
Hata iletisi:
Error: TypeError: Cannot read property 'length' of undefined(…)
Sorunun benim testimin "değeri" ve "args" ile olduğunu düşünüyorum. Herhangi bir fikir nasıl çözülür? Eğer hatalar var çünkü describe
yöntemi kullanılırken
Sen% 100 doğru konum. Teşekkür ederim. Ayrıca başka bir yazım hatası vardı "ToEqual ('0001')" olmalıdır "toEqual ('0001')". Şimdi çalışıyor. –
+1 bu bir test üzerinde bana yardımcı oldu ve sadece Açık Angular v4 + borularının pipe.transform (value, arg1, arg2, arg3 ....) gibi bağımsız değişkenler alabildiğini göstermek için –