我收到一个错误:
TypeError: actual.subscribe is not a function
19 | it('should correctly return', () => {
20 | const expectedValues = cold('--a', {a:[]});
> 21 | expect(sut.getAvailabilityType).toBeObservable(expectedValues);
| ^
22 | })
23 | })
但无法理解问题。这是我的服务片段:
@Injectable({
providedIn: 'root'
})
export class CandidateRegistrationManagementService {
constructor(private http: HttpClient) { }
getAvailabilityType(): Observable<ModelAvailabilityType> {
return this.http.get<ModelAvailabilityType>(environment.setUpAndConfigUrl + `LookupTypeValue/LookupValueTypeDetails?LookupTypeName=AvailabilityType`)
.pipe(
map(events => {
return events;
}),
catchError(this.handleError)
);
}
})
这是我对上述服务的测试(获取):
import { cold, hot } from 'jasmine-marbles';
import { CandidateRegistrationManagementService } from './candidate-registration-management.service';
describe('new service', () => {
let sut:CandidateRegistrationManagementService;
let mockService:any;
beforeEach(() => {
mockService = jasmine.createSpy('getAvailabilityType');
mockService.getAvailabilityType = hot('^-a', {a:[]});
sut = new CandidateRegistrationManagementService(mockService);
});
it('should be created', () => {
expect(sut).toBeTruthy();
})
it('should correctly return', () => {
const expectedValues = cold('--a', {a:[]});
expect(sut.getAvailabilityType).toBeObservable(expectedValues);
})
})
我无法理解这个问题。有什么帮助我吗?我按照这里的教程