angular - Hur man fixar `Argument of type number is not assignable to string`?
Ny på Angular 2 och TypeScript. Försöker testa några pipes. Jag får alltid detta fel i mina tester:
FEL i [standard] .../inflection.pipe.spec.ts:22:47 Argument av typen 'number' kan inte tilldelas parametern av typen 'string[]'.
Har du någon aning om vad jag gör fel?
//pipe.ts
import { .... }
@Pipe({name: 'inflection'})
export class InflectionPipe implements PipeTransform {
transform(value: string, args: string[]): any {
console.log(args);
return inflection.inflect(value, args)
}
}
//spec.ts
import {....}
describe('InflectionPipe', () => {
// provide our implementations or mocks to the dependency injector
beforeEach(() => TestBed.configureTestingModule({
providers: [
InflectionPipe
]
}));
it('should inflect different values', inject([InflectionPipe], (inflectionPipe: InflectionPipe) => {
expect(inflectionPipe.transform('goose', 2)).toEqual('geese');
}));
});
Svar #1
Titta på din transform-signatur
transform(value: string, args: string[])
och titta hur du försöker kalla det
inflectionPipe.transform('goose', 2)
Det förväntar sig en string[] men du skickar ett nummer. Jag är osäker på vad du försöker göra, men du bör rätta det därefter. Kanske transform('goose', ['2'])
