小编awi*_*man的帖子

桶进口似乎打破了装载顺序

我有一个要进行单元测试的组件,但我不断收到这些错误,具体取决于我的导入语句:

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)

jasmine typescript systemjs angular

2
推荐指数
1
解决办法
1966
查看次数

标签 统计

angular ×1

jasmine ×1

systemjs ×1

typescript ×1