问题描述
这些是我使用Angular版本6的JSON文件的devDependencies
"devDependencies": {
"@angular-devkit/build-angular": "~0.8.0","@angular/cli": "~6.2.1","@angular/compiler-cli": "^6.1.0","@angular/language-service": "^6.1.0","@types/jasmine": "~2.8.8","@types/jasminewd2": "~2.0.3","@types/node": "~8.9.4","codelyzer": "~4.3.0","jasmine-core": "~2.99.1","jasmine-spec-reporter": "~4.2.1","karma": "~3.0.0","karma-chrome-launcher": "~2.2.0","karma-coverage-istanbul-reporter": "~2.0.1","karma-jasmine": "~1.1.2","karma-jasmine-html-reporter": "^0.2.2","protractor": "~5.4.0","ts-node": "~7.0.0","tslint": "~5.11.0","typescript": "~2.9.2"}
和我的 menu.component.spec.ts 是
import { async,ComponentFixture,Testbed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { browserAnimationsModule } from '@angular/platform-browser/animations';
import { FlexLayoutModule } from '@angular/flex-layout';
import { MatGridListModule } from '@angular/material/grid-list';
import { MatProgressspinnerModule } from '@angular/material/progress-spinner';
import { Observable,of } from 'rxjs';
import { dish } from '../shared/dish';
import { dishService } from '../services/dish.service';
import { disHES } from '../shared/dishes';
import { baseURL } from '../shared/baseurl';
import { MenuComponent } from './menu.component';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
describe('MenuComponent',() => {
let component: MenuComponent;
let fixture: ComponentFixture<MenuComponent>;
beforeEach(async(() => {
const dishServiceStub = {
getdishes: function(): Observable<dish[]> {
return of(disHES);
}
};
Testbed.configureTestingModule({
imports: [ browserAnimationsModule,FlexLayoutModule,MatGridListModule,MatProgressspinnerModule,RouterTestingModule.withRoutes([{ path: 'menu',component: MenuComponent }])
],declarations: [ MenuComponent ],providers: [
{ provide: dishService,useValue: dishServiceStub },{ provide: 'baseURL',useValue: baseURL }
]
})
.compileComponents();
const dishservice = Testbed.get(dishService);
}));
beforeEach(() => {
fixture = Testbed.createComponent(MenuComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create',() => {
expect(component).toBeTruthy();
});
// it('dishes items should be 4',() => {
// expect(component.dishes.length).toBe(4);
// }
// );
});
当我运行“ ng test”命令时,在“业力调试”选项卡中收到此错误
MenuComponent应该创建 错误:StaticInjectorError(DynamicTestModule)[BaseURL]: StaticInjectorError(平台:核心)[BaseURL]: NullInjectorError:没有BaseURL提供程序! 错误:StaticInjectorError(DynamicTestModule)[BaseURL]: StaticInjectorError(平台:核心)[BaseURL]: NullInjectorError:没有BaseURL提供程序! 在NullInjector.get(./node_modules/@angular/core/fesm5/core.js?:1360:19) 在resolvetoken(./node_modules/@angular/core/fesm5/core.js?:1598:24) 在tryResolvetoken(./node_modules/@angular/core/fesm5/core.js?:1542:16) 在StaticInjector.get(./node_modules/@angular/core/fesm5/core.js?:1439:20) 在resolvetoken(./node_modules/@angular/core/fesm5/core.js?:1598:24) 在tryResolvetoken(./node_modules/@angular/core/fesm5/core.js?:1542:16) 在StaticInjector.get(./node_modules/@angular/core/fesm5/core.js?:1439:20) 在resolveNgModuleDep(./node_modules/@angular/core/fesm5/core.js?:8667:29) 在NgModuleRef_.get(./node_modules/@angular/core/fesm5/core.js?:9355:16) 在resolveDep(./node_modules/@angular/core/fesm5/core.js?:9720:45)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)