如何修复`类型号的参数不能分配给字符串`?

时间:2016-10-25 16:05:34

标签: angular typescript

角度2&的新手打字稿。试图测试一些管道。我在测试中一直收到这个错误:

  

[默认]中的错误   ... / inflection.pipe.spec.ts:22:47   类型'number'的参数不能分配给类型的参数   '字符串[]'。

知道我做错了什么?

//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');

    }));


});

1 个答案:

答案 0 :(得分:3)

查看您的transform签名

transform(value: string, args: string[])

看看你是怎么称呼它的

inflectionPipe.transform('goose', 2)

它需要string[],但您传递了一个数字。不确定你要做什么,但你应该相应地修复它。也许transform('goose', ['2'])