jasmine 相关问题

Jasmine是一个用于测试JavaScript代码的行为驱动开发(BDD)框架。 Jasmine没有外部依赖,也不需要DOM。

将 routerLink 放在 Angular 模板上后,Jasmine/Karma 错误“TypeError:无法读取未定义的属性(读取“事件”)”错误

我正在尝试在我的 Angular 应用程序中进行一些测试,但是当我使用 routerLink 添加此行时,测试给出了错误: 我正在尝试在我的 Angular 应用程序中进行一些测试,但是当我使用 routerLink 添加这一行时,测试给出了错误: <a class="nav-link" routerLink="../loja-lista" role="tab" type="button"> <fa-icon [icon]="faArrowLeft" style="font-size: x-large; color: #225262"> </fa-icon> </a> package.json: "@angular/common": "^15.2.9", "@angular/compiler": "^15.2.9", "@angular/core": "^15.2.9", ... ... "jasmine-core": "~4.0.0", "karma": "~6.3.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.1.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "~1.7.0", 错误 TypeError: Cannot read properties of undefined (reading 'events') TypeError: Cannot read properties of undefined (reading 'events') at new RouterLink (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/router/fesm2020/router.mjs:5711:40) at NodeInjectorFactory.factory (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/router/fesm2020/router.mjs:5865:16) at getNodeInjectable (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2020/core.mjs:3431:44) ... 这是我的四个测试,在模板中没有 RouterLink 的情况下也能正常工作: import { ComponentFixture, TestBed } from '@angular/core/testing'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { ActivatedRoute, Router } from '@angular/router'; import { LOJAApi } from 'my-lib'; import { EdicaoComponent } from './edicao.component'; describe('EdicaoComponent', () => { let component: EdicaoComponent; let fixture: ComponentFixture<EdicaoComponent>; let lojaService: LOJAApi; let router: Router; let route: ActivatedRoute; beforeEach(async () => { await TestBed.configureTestingModule({ imports: [HttpClientTestingModule, RouterTestingModule, EdicaoComponent], providers: [ { provide: LOJAApi, useValue: lojaService }, { provide: Router, useValue: router }, { provide: ActivatedRoute, useValue: route }, ], }).compileComponents(); fixture = TestBed.createComponent(EdicaoComponent); component = fixture.componentInstance; lojaService = TestBed.inject(LOJAApi); }); it('should create', () => { expect(component).toBeTruthy(); }); it('should return all phone info', () => { component.edicaoForm.value.DDD_FONE = null; component.edicaoForm.value.FONE = null; expect(component.getPhone()).toBe('00 000000000'); }); it('should return DDD', () => { component.edicaoForm.value.TELEFONE = '11999999999'; expect(component.handleDDD()).toBe('11'); }); it('should return phone', () => { component.edicaoForm.value.TELEFONE = '11999999999'; expect(component.handlePhone()).toBe('999999999'); }); }); 您的 routerLink 上缺少括号。 [routerLink]="'../loja-lista'" role="tab" type="button"> https://angular.io/api/router/RouterLink

回答 1 投票 0

在 Angular 服务中对 http 请求进行单元测试重试

我正在尝试在不使用 for 循环的情况下测试失败的 httpClient post 请求的重试,并且我很难找到这样做的示例。大多数解决方案似乎都显示了 for 循环方法。 哈...

回答 2 投票 0

使用 Jasmine 对 Ionic Angular 中的 IonInput 参数进行单元测试:无法读取未定义的属性(读取“应用”)

在自定义输入组件内的这个 setter 中,我想在 Jasmine 中进行通过 getInputElement 函数的测试。 @ViewChild('自定义输入') 公共设置自定义输入(值:IonInput){...

回答 1 投票 0

Angular Material 和 Jasmine:“没有 InjectionToken MdDialogData 的提供者!”

我有一个用于 Angular Material MdDialog 的组件: @成分({ ... }) 导出类 MyComponent { 构造函数(@Inject(MAT_DIALOG_DATA)公共数据:任何,公共拨号...

回答 9 投票 0

如何编写测试用例来删除角度中的cookie

我的拦截器看起来像这样: 从 '@angular/core' 导入 { Injectable } ; 进口 { Http拦截器, Http请求, HttpHandler, Http事件, Http错误响应 来自 '@angular/common/http'; ...

回答 1 投票 0

为什么 BehaviourSubjects 的 `combineLatest` 上的 `.pipe` 未定义?

在 Angular 10 应用程序中,我有一个服务类: @Injectable() 导出类 MyService { 私有只读 bSubject1$:BehaviorSubject = newBehaviourSubject(null);

回答 1 投票 0

测试期间未调用 ngOnInit 内部的方法

我正在尝试测试是否从 ngOnInit 调用服务方法。但是,我得到了一个奇怪的行为:尽管执行了 ngOnInit,但并未调用该方法。 从 '@angular/core' 导入 { Component } ;

回答 1 投票 0

Angular 16 路由保护单元测试可观察的 createSpyObj 属性

尝试熟悉路线守卫的单元测试。我有一个相对直接的防护,它从主题 asObservable 获取值到 createUrlTree 或返回布尔值。 在...

回答 1 投票 0

Jasmine:Angular Typescript 项目中的“不完整:未找到规范”

出于某种我无法理解的原因,Karma 说 Jasmine 找不到我的任何测试规格。我使用 Angular 9、Typescript 和 ng test 来运行测试。我还运行 jasmine init 来创建 jasm...

回答 9 投票 0

如何测试 matTooltip 是否在 Angular Material 中正确禁用?

我有一个循环创建多个 matCard 元素。这些代表事件。其中一些已经成为过去。我给它们一个类来将它们变灰,并添加一个 matTooltip 来解释这意味着什么。 <...

回答 2 投票 0

如何防止 window.open(url, '_blank') 在 jasmine 单元测试期间实际打开

当我尝试测试 window.open(url, '_blank') 时,它会在测试过程中自动在浏览器中打开一个新选项卡。有什么办法可以防止这种情况发生吗? 就像,尝试打开一个新...

回答 2 投票 0

如何将ES6类模块导入到Jasmine中进行测试?

我想对一些存储为模块的 ES6 类进行单元测试。但是,当我尝试运行测试时,导入会触发错误消息:无法在模块之外使用导入语句,这意味着我...

回答 2 投票 0

错误:<spyOnProperty>:函数未声明为可配置

我使用 webpack 3 进行了 jasmine 测试。现在我尝试将它与 webpack 4 一起使用,但遇到了一些问题。 首先我遇到了间谍功能的问题。 错误::myFunction 未声明为...

回答 5 投票 0

角度服务内 if 语句的单元测试用例

我有一个服务(服务1),它在内部从另一个服务(服务2)返回数据。因此,在返回数据之前,我们在服务 1 中进行数据检查。 `getuserImageUrl(Id: number): Observable<

回答 1 投票 0

角度测试中tick()和flush()有什么区别?

在角度文档中,我看到这两个函数,tick() 和flush()。这两者似乎都做类似的事情。从角度文档来看,它说: 模拟异步

回答 2 投票 0

角度单元测试间谍

我在组件的 ngOnInit() 中有以下服务调用.. ngOnInit(){ this.accountTypeService.SetAccountType(AccountTypeEnum.Savings); } 这是相同的单元测试:- 它('应该调用

回答 1 投票 0

Allure 报告未使用 WebDriverIO 和 Jasmine 框架生成

我正在使用WebDriverIO并想要生成Allure报告。我遵循了 Allure 中提到的所有步骤 我做了: $ npm install wdio-allure-reporter --save-dev package.json 有: “wdio-诱惑-记者...

回答 4 投票 0

我们如何在不加载 JSP 的情况下从 Jenkins (Hudson) 运行 JavaScript jasmine 测试?

我们有一个丰富的网络客户端。我们的控制器和服务外观是用 CoffeeScript (JavaScript) 和 jquery 编写的。在过去,它们是java。 从

回答 5 投票 0

如何使用 Observable 测试功能

帮助测试功能 导出函数 truePipeOfObject(value: Observable): Observable> { 返回值.pipe( 地图((项目:T):T | R...

回答 1 投票 0

使用 Jasmin 和 Karma 进行角度信号测试

我正在尝试根据 getScrollTop() 上的间谍操作来测试“showToolbar”的值是 true 还是 false。 我的代码: @成分({ 选择器:'应用程序标题', 独立:真实, 进口:...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.