📅  最后修改于: 2023-12-03 14:39:12.996000             🧑  作者: Mango
在使用 Angular 和 Jasmine 进行单元测试时,经常需要判断一个数组是否为空。这时候可以使用 Jasmine 的 toBe
匹配器来进行判断。
以下是一个示例代码片段:
describe('MyComponent', () => {
let component: MyComponent;
let fixture: ComponentFixture<MyComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ MyComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(MyComponent);
component = fixture.componentInstance;
});
it('should create', () => {
expect(component).toBeTruthy();
});
it('should have empty array', () => {
expect(component.myArray).toEqual([]);
});
});
在以上例子中,我们使用了 toEqual
匹配器来判断 component.myArray
是否为空数组。如果需要使用 toBe
匹配器,则可以直接写成:
it('should have empty array', () => {
expect(component.myArray).toBe([]);
});
但是这种写法会导致测试失败,因为 []
和 component.myArray
并不是同一对象的引用。正确的做法是使用 toEqual
匹配器来进行判断。