我有烟斗
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterArrayPipe'
})
export class FilterArrayPipe implements PipeTransform {
transform(value: any, config: any, q: string) {
if (config && q) {
return value.filter(result => {
return config.some(type => result[type].toString().toLowerCase().indexOf(q) > -1);
});
} else {
return value;
}
}
}
现在我要进行单元测试
import { FilterArrayPipe } from './filter-array.pipe';
describe('Pipe: FilterArray Pipe', () => {
it('providing search value should return true', () => {
const pipe = new FilterArrayPipe();
expect(pipe.transform([{id: 123}, {id: 456}], ['id'], '456'))
.toBe([{id: 456}]);
});
});
但是我收到以下错误
Expected [ Object({ id: 456 }) ] to be [ Object({ id: 456 }) ].
答案 0 :(得分:1)
您应该使用toEqual
进行比较。
expect(pipe.transform([{id: 123}, {id: 456}], ['id'], '456'))
.toEqual([{id: 456}]);
有关更详细的答案,请参见toBe vs toEqual。与==和===相同。