【发布时间】:2022-01-14 21:59:40
【问题描述】:
我是角度单元测试的新手,我曾尝试为服务文件编写测试用例。我需要为下面的代码编写测试用例
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class EmployeeDetailsService {
private readonly employeeRoles = new BehaviorSubject<any>([]);
private readonly isEmployeeData = new BehaviorSubject<boolean>(true);
employeeRolesData = this.employeeRoles.asObservable();
isEmployee = this.isEmployeeData.asObservable();
addEmployeeRoles(data: string) {
this.employeeRoles.next(data);
}
checkIsEmployee(data: boolean) {
this.isEmployeeData.next(data);
}
}
我试过的是
import { TestBed } from '@angular/core/testing';
import { EmployeeDetailsService } from './EmployeeDetails.service';
describe('EmployeeDetailsService', () => {
let service: EmployeeDetailsService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(EmployeeDetailsService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
it('addEmployeeRoles', () => {
service.addEmployeeRoles.subscribe(data => {
expect(data).toEqual(data);
})
});
it('checkIsEmployee', () => {
service.checkIsEmployee.subscribe(data=>{
expect(data).toEqual(data)
})
});
})
单元测试用例通过,但代码覆盖率没有提高。所以请帮我解决这个问题。
【问题讨论】: