SearchService应该创建失败 TypeError:无法读取null的属性“ ngModule”

问题描述

我正在尝试对网站的我的模块目录中的服务进行单元测试。但是,当我npm测试它时,它给了我这个错误:

Chrome 86.0.4240.80 (Mac OS 10.15.7) SearchService should be created FAILED
    TypeError: Cannot read property 'ngModule' of null
        at isModuleWithProviders (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:26155:1)
        at expandModuleWithProviders (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:26149:1)
        at <Jasmine>
        at Function.get (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:25805:1)
        at getNgModuleDef (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:1842:1)
        at verifySemanticsOfNgModuleDef (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:25860:1)
        at Function.get (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:25828:1)
        at R3TestBedCompiler.applyProviderOverridesToModule (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/testing.js:1331:1)
        at R3TestBedCompiler.compileTestModule (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/testing.js:1576:1)
        at R3TestBedCompiler.finalize (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/testing.js:1185:1)
    Error: Expected undefined to be truthy.
        at <Jasmine>
        at UserContext.<anonymous> (http://localhost:9876/_karma_webpack_/src/app/modules/dashboard/services/search.service.spec.ts:21:21)
Chrome 86.0.4240.80 (Mac OS 10.15.7): Executed 1 of 1 (1 FAILED) (1.514 secs / 1.5 secs)
TOTAL: 1 FAILED,0 SUCCESS

我的search.service.spec.ts几乎是一个骨架:

import { TestBed } from '@angular/core/testing';
import { SearchService } from './search.service';
import { HttpClientModule } from '@angular/common/http';

describe('SearchService',() => {
  let service: SearchService;
  let mockSearchService = jasmine.createSpyObj('searchService',['search']);
  beforeEach(() => {
    TestBed.configureTestingModule({
      providers:[
        {provide: SearchService,useValue: mockSearchService}
      ],imports: [HttpClientModule],});
    service = TestBed.inject(SearchService);
  });

  it('should be created',() => {
    expect(service).toBeTruthy();
  });
});

module.ts也很裸露。根据Angular文档,服务应该放在NgModule的provider部分中,我不确定是否应该在顶部导入它。

import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule,ReactiveFormsModule } from '@angular/forms';
import { SharedModule } from '@shared/shared.module';
import { SearchService } from './services';

@NgModule({
    imports: [
        CommonModule,FormsModule,SharedModule,ReactiveFormsModule,],declarations: [
    ],entryComponents: [
    ],providers: [SearchService],exports: [],})

export class DashBoardModule {}

任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...