0

次のようなエラーが表示されます。

 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)
            );
    }

}))

上記のサービス(get)の私のテストは次のとおりです。

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);
    })
})

問題を理解できません。ここで私を助けてくれますか?ここからチュートリアルに従いました

4

0 に答える 0