我有一个要进行单元测试的组件,但我不断收到这些错误,具体取决于我的导入语句:
Error: Cannot resolve all parameters for 'MyComponent'(undefined, FormBuilder).
TypeError: Cannot read property 'toString' of undefined
Run Code Online (Sandbox Code Playgroud)
我的组件需要 2 个参数,一个是 FormBuilder,一个是自定义服务,必须注入:
import {MyService} from '../';
@Component({
...,
providers: [MyService]
})
class MyComponent {
constructor(service: MyService, fb: FormBuilder) { ... }
...
}
Run Code Online (Sandbox Code Playgroud)
我的单元测试设置如下:
import {MyComponent} from './';
import {MyService} from '../';
describe('Component: MyComponent', () => {
let builder: TestComponentBuilder;
beforeEachProviders(() => [
MyService,
MyComponent
]);
beforeEach(inject([TestComponentBuilder], function (tcb: TestComponentBuilder) {
builder = tcb;
}));
it('should inject the component', inject([MyComponent],
(component: MyComponent) …Run Code Online (Sandbox Code Playgroud)