问题描述
为服务函数编写一个测试用例,该测试用例应返回真实值。但是我收到错误消息“ Expected undefined to true”。下面是相同的代码。
这是Landingpage.serviice.spec.ts
import {Card} from "../../../shared/components/card/card.model";
import {} from 'jasmine';
import {LandingPageService} from "../../../features/admin/landing-page/landing-page.service";
import {ComponentFixture,Testbed} from "@angular/core/testing";
import {GBHttpClient,GBHttpClientCreator} from './../../../blocks/global/http-client';
import {HttpClient} from '@angular/common/http';
import {Principal,TokenService} from "../../../shared/auth";
import {Router} from '@angular/router';
import {MockRouter} from "../../../test-helpers/mock-route.service";
import {NgbModule} from "@ng-bootstrap/ng-bootstrap";
import {NgXTestModule} from "../../../test.module";
import {HttpClientTestingModule,HttpTestingController} from '@angular/common/http/testing';
import {MockBridgeService} from "../../../test-helpers/mock-bridge.service";
import {MockPrincipalService} from "../../../test-helpers/mock-principal.service";
import {TranslateService} from "@ngx-translate/core";
import {QuickTranslateService} from "../../../shared/services/quick-translate.service";
import {ParamsService} from './../../../shared/services/params.service';
import {SearchService} from "../../../features/search";
import {SpinnerService} from './../../../shared/spinner/spinner.service';
import {Observable,of} from 'rxjs';
describe('LandingPageService',() => {
// let result : boolean;
let landingPageService = {
checkLimitOrderFeatureEnabled: jasmine.createSpy(),// checkItemCategoryLimit:jasmine.createSpy().and.returnValue(of(null))
}
let httpMock: HttpTestingController;
beforeEach(async() => {
const mockPrincipal = new MockPrincipalService();
const mockRouter = new MockRouter();
const mockBridgeService = new MockBridgeService();
const searchService = new SearchService(null,null);
await Testbed.configureTestingModule({
imports: [
NgXTestModule,HttpClientTestingModule,NgbModule.forRoot()
],providers: [
{
provide: Principal,useValue: mockPrincipal
},{
provide: Router,useValue: mockRouter
},{
provide: "SearchService",useValue: searchService
},{
provide: "BridgeService",useValue: mockBridgeService
},LandingPageService,TokenService,QuickTranslateService,TranslateService,ParamsService,SpinnerService,{
provide: GBHttpClient,useFactory: GBHttpClientCreator,deps: [HttpClient]
}
]
})
landingPageService = Testbed.get(LandingPageService);
// result = false;
httpMock = Testbed.get(HttpTestingController);
});
afterEach(() => {
Testbed.resetTestingModule();
httpMock.verify();
});
it('should get Limit Order feature toggle value',() => {
spyOn(landingPageService,'checkLimitOrderFeatureEnabled').and.callThrough();
expect(landingPageService).toBeTruthy();
let result = landingPageService.checkLimitOrderFeatureEnabled();
expect(result).toBe(true);
});
});
这是Landing-page.service.ts
checkLimitOrderFeatureEnabled() {
return this.principal.getUserContext().enableLimitOrder && this.principal.getUserContext().enableLimitOrderParameter;
}
对于使用着陆页服务编写的此功能,我需要编写测试用例。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)