gpt4 book ai didi

angular - 在单元测试中找不到 'DynamicTestModule' 的 NgModule 元数据

转载 作者:太空狗 更新时间:2023-10-29 17:57:46 26 4
gpt4 key购买 nike

使用 Angular2.0.0-rc.5 我正在尝试运行以下测试但收到错误:

Error: No NgModule metadata found for 'DynamicTestModule'. (line 29)

这个 DynamicTestModule 似乎是 Angular 本身的一部分,不是我在我的项目中引用的模块,也不是可以在 angular.io 上的文档页面中找到的模块。

import {inject, async, TestBed} from '@angular/core/testing';
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting} from '@angular/platform-browser-dynamic/testing';

describe('AuthService', () => {

beforeEach(() => {
TestBed.initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
).configureTestingModule({
imports: [
{ngModule: CommonModule, providers: [
... // overrides for testing
]}
]});
});

it('should get and set a token saved in storage', inject([AuthService], (instance: AuthService) => {
instance.token = 'test-token';
expect(instance.token).toEqual('test-token');
}));
});

在 google 上搜索错误消息没有返回任何结果,并且他们的变更日志在示例中没有提到这一点。

有没有人看到这个特定的错误并知道发生了什么,或者你能提供一个在 2.0.0-rc.5 中使用没有的内置 DI 测试服务的例子吗这个错误?

最佳答案

如果你使用 SystemJS 模块加载器来加载 Angular 模块,你应该使用单独的文件,而不是包。

在索引文件中加载 SystemJS 之后

<script src="node_modules/systemjs/dist/system.src.js"></script>

并且在从 quickstart application 加载 systemjs.config.js 之前

<script src="systemjs.config.js"></script>

你需要设置

<script>System.packageWithIndex = true;</script>

关于angular - 在单元测试中找不到 'DynamicTestModule' 的 NgModule 元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com