Karma-Jasmine是Jasmine测试框架的适配器,默认情况下随Karma一起提供。
我正在使用 Angular CLI 和 VSCode,但是当我运行 ng test 时,我的规范文件中的断点似乎都没有被命中? 我需要做一些配置吗?
Angular 测试无法在 Github Action 中使用 ChromeHeadlessCI 运行
我引导了一个简单的 Angular (v10.1) 应用程序并创建了 Github 操作工作流程,如下所示。请注意,我已将测试配置为使用 Angular 测试文档中指定的推荐配置运行 # ./...
问题 (1)我无法找到在单元测试中触发服务调用的方法,该调用应该在给出输入时触发。 (2)输出的长度可以根据输入和长度来确定...
有什么方法可以在 Nx 工作空间中运行特定的角度规格测试文件吗? 最近,我将 Angular 4 cli 应用程序移至 Nx 工作空间。 以前我使用 fdescribe 来实现此目的
Angular 项目 Karma/Jasmine 在 Ubuntu 上的 Google Chrome 下的 GitHub Action 上测试失败
在我的 Angular 项目中,我尝试使用 Google Chrome 在 GitHub Action 中使用 Karma 和 Jasmine 进行测试。 Google Chrome 启动时出现多个错误,然后在经过一些测试后死机。我尝试了几个
我在组件中使用的服务方法有一个回调作为第二个参数。当执行此回调时,它会返回一个分配给组件中变量的值。 我是...
我有一个 Angular 服务,它依赖于另一个服务,该服务有一个属性,它是一个包含我想要监视的方法的对象。 @Injectable({ 提供于:'root' }) 导出类 MyServi...
我无法区分 TDD 和 BDD。有人可以举一个简单的例子来说明使用 jasmine 在 javascript 上下文中的差异吗?
如何测试 Angular 2 组件,其中嵌套组件具有自己的依赖项? (TestBed.configureTestingModule)
我有一个组件 A,它在其模板中使用组件 B、c、D: ###template-compA.html 我有一个组件 A,在其模板中使用组件 B、c、D: ###template-compA.html <comp-b></comp-b> <comp-c [myinput]="obj.myinput"></comp-c> <comp-d ></comp-d> ...等等 为了简化,假设它们只是组件 A 中的一个指令: ###template-compA.html <comp-b></comp-b> 我的 comp-b 有自己的依赖项(服务或其他 comp)。 如果我想这样测试 comp-a: TestBed.configureTestingModule({ declarations: [comp-A], imports: [ReactiveFormsModule], }).overrideComponent(FAQListComponent, { set: { providers: [ { provide: comp-AService, useValue: comp-AListSVC } ] } }) .compileComponents(); 它将无法正常工作。所以我这样做: TestBed.configureTestingModule({ declarations: [comp-A, comp-B], imports: [ReactiveFormsModule], }).overrideComponent(FAQListComponent, { set: { providers: [ { provide: comp-AService, useValue: comp-AListSVC } ] } }) .compileComponents(); 它也不起作用,因为 comp-b 没有自己的依赖项。在这里我很困惑,如果我每次都必须导入和重新模拟所有其他组件,我该如何进行单元测试?看起来工作量非常大。还有别的办法吗?使用具有自己的依赖项的嵌套组件测试组件的最佳实践是什么? 非常感谢, 史蒂芬。 如果您不需要在测试中以任何方式引用 comp-b,您可以将 schemas: [NO_ERRORS_SCHEMA] or [CUSTOM_ELEMENTS_SCHEMA] 添加到 TestBed 配置中,或覆盖 comp-A 的模板并删除 comp-b 的标签 如果您确实需要引用comp-b,您可能不需要在覆盖中专门提供它的依赖项。 仅当组件本身提供依赖项时,才需要在 providers 中设置 overrideComponent。 (如果您有 comp-A.ts 中的提供商列表) 假设 comp-b 需要 comp-AService 并且 comp-AService 正在您的 comp-A 覆盖中提供,因为 comp-b 是 comp-A 的子级,它将为其提供 comp-AService。 如果您在 app.module 或高于组件本身的位置提供这些依赖项,则无需覆盖。例如,如果 comp-b 需要 comp-AService 和 someOtherService,它们都在您的 app.module 中提供,您的 TestBed 配置可能如下所示: TestBed.configureTestingModule({ declarations: [comp-A, comp-B], imports: [ReactiveFormsModule], providers: [ { provide: comp-AService, useValue: comp-AListSVC }, { provide: someOtherService, useValue: someOtherServiceSVC } ] }) 编辑: 您可以在此处阅读有关嵌套组件测试的更多信息: https://angular.io/guide/testing-components-scenarios#nested-component-tests 遵循@yurzui 的建议: beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [comp-a], schemas: [NO_ERRORS_SCHEMA] }) .compileComponents(); })); 这是一个老问题,但这就是我目前在 Angular 9 中所做的事情。 由于您希望尽可能地隔离测试组件,因此您可以创建一个返回要导入的假组件的函数,而不是实际的嵌套组件: function mockComponent(selector: string) { @Component({ selector, template: '' }) class MockValueAccessorComponent { // [mock implementation here] } return MockValueAccessorComponent; } 然后将其导入到您的 TestBed 中,如下所示: TestBed.configureTestingModule({ declarations: [ TestUtils.mockComponent('component-template-to-mock'), ] }); 还有另一种方法是创建一个模拟 b 组件并将其导入到组件 a 中 @Component({独立: true, 模板: '', 选择器: 'comp-b' }) 导出类 CompBComponent { } TestBed.configureTestingModule({ 进口:[ 组合B组件 ] });
未捕获的语法错误:运行 karma 测试时无法在模块外部使用 import 语句 + 3 个 TCONFIG 文件之间的差异
尝试运行我的规范文件时,我在控制台中收到此错误: 未捕获的语法错误:无法在模块外部使用 import 语句 我的 tsconfig.spec 看起来像这样: { “扩展”:“../
TypeError:this.oktaAuth.getUser 不是函数。在 Angular 中使用 Okta 库时单元测试用例失败
我正在使用 okta 库在 Angular8 中进行身份验证。到目前为止,功能运行良好,但项目要求是在 Angular8 中编写单元测试用例。下面是我的代码
对设置为特定模块的单元测试运行 ng test 会失败,因为它包含来自其他模块的测试。 在此输入图像描述 在此输入图像描述 在此输入图像描述 恩...
我正在尝试运行 Angular 在创建组件时进行的基本角度测试,但它们不断失败,而且我找不到原因或如何修复它。 这些是我试图运行的测试: 它('
detectChanges() 无法在使用 ControlValueAccessor 的 Angular 独立组件测试中工作
我已经为一个简单的自定义表单控件组件“my-input”(实现 ControlValueAccessor 接口)编写了一个组件测试,该组件仅包含一个输入字段。 在组件测试中我
未捕获错误:fa-icon/fa-duotone-icon 组件需要属性图标。在http://localhost:9876/_karma_webpack_/polyfills.js:23598:29
我正在项目中运行我的测试用例。执行测试用例时,我遇到以下错误。虽然他们没有破坏我的测试用例,但仍然在控制台中打印大量日志。 我是...
角度测试 - 订阅 HTTP 响应 observable 会触发新请求
上下文 我有一项服务负责将表单数据的 POST 请求发送到我的后端。 发送请求的方法取决于表单数据的类实例,其中
我有一个正在测试的角度服务,它从另一个文件导入 const 从“../environments/environment”导入{环境}; 环境.ts就像 导出常量环境...
我的用例是通过排除某些文件来生成 Angular 项目的覆盖率报告,我已在 angular.json 中排除了这些文件,它按预期工作。不过,我希望将他们排除在外...
我正在订阅文档的visibilityChanged事件。下面是代码。文档是使用依赖注入来注入的。 ngOnInit(){ fromEvent(文档, '可见性变化') ...
我在 Angular 2 项目中使用 Angular-CLI(webpack 版本),并且还需要使用 jQuery(遗憾的是。就我而言,它是 Semantic-UI 的依赖项,我用它来处理菜单下拉菜单)。 ...