angular 4 unit test:无法读取null的属性'injector'

时间:2017-10-02 08:54:27

标签: angular unit-testing karma-jasmine

我必须接受测试(使用业力和茉莉花) 请注意,我在其他地方调用initTestEnvironment,但我确认它被调用(使用console.log)。

每当我运行它,我得到: TypeError: Cannot read property 'injector' of null

正如您所看到的,MyService只是一个空类,用于证明我尝试注入的每个服务都会出现上述错误。

@Injectable()
export class MyService {

}

describe('some tests', () => {

    beforeEach(() => {

        TestBed.configureTestingModule({
            imports: [
                HttpModule,
                HttpClientModule
            ],
            providers: [

                MyService
            ]
        });
    });

    it('just a test', () => {

        TestBed.get(MyService); // this causes the error
        expect(true).toBeTruthy();
    });
});

知道什么可能导致这个问题以及如何解决它?

我没有看到我的问题,特别是许多教程都以完全相同的方式完成。

1 个答案:

答案 0 :(得分:0)

好吧,至少在yurzuis发表评论后担心和期待:测试本身一切都很好。

但是我有一个带有作用域包的单一仓库,测试从主项目运行(而不是从作用域本身开始),不幸的是,角度包之间存在版本不匹配导致这些问题。

所以我必须改进我的测试设置以防止将来出现这个问题。