首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >具有多种路由函数的角茉莉花测试元件

具有多种路由函数的角茉莉花测试元件
EN

Stack Overflow用户
提问于 2022-04-06 13:29:01
回答 1查看 421关注 0票数 0

我正在尝试为我的一个组件编写测试。它有两个函数,重新路由到另一个页面。我编写了两个测试,每个测试都各自工作,但由于某种原因,它们在代码中同时发生冲突。我的间谍没有在每次测试之间重置吗?我试过做单独的间谍,但没成功。

county-resources.component.ts

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 routeToNewPage(){
    this.router.navigate(['/admin/new-agency'], {
      state: {
        counties: this.countiesList,
        categories: this.categories
      }
    });
  }

  routeToEditPage(data:any){
    this.router.navigate(['/admin/edit-agency'], {
      state: {
        counties: this.countiesList,
        categories: this.categories,
        data: data
      }
    });
  }

component.spec.ts

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
describe('CountyResourcesComponent', () => {
  let component: CountyResourcesComponent;
  let fixture: ComponentFixture<CountyResourcesComponent>;
  let routerSpy = {navigate: jasmine.createSpy('navigate')};

  beforeEach(async () => {
    await TestBed.configureTestingModule({
      declarations: [ CountyResourcesComponent ],
      providers: [
        ApiService, 
        {
          provide: Router, useValue: routerSpy
        }
      ],
      imports: [
        ReactiveFormsModule,
        HttpClientTestingModule,
        RouterTestingModule
      ],
      
    })
    .compileComponents();
  });

  beforeEach(() => {
    fixture = TestBed.createComponent(CountyResourcesComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

it(`should reroute page to new-agency`, () => {
    component.routeToNewPage();
    const navArgs = routerSpy.navigate.calls.first().args[0];
    expect (navArgs).toEqual(['/admin/new-agency']);
  });

  it(`should reroute page to edit-agency`, () => {
    let data = {
      junk: 12,
      junk2: 34
    }
    component.routeToEditPage(data);
    const navArgs = routerSpy.navigate.calls.first().args[0];
    expect (navArgs).toEqual(['/admin/edit-agency']);
  });


});

此错误引用了“应该重路由页以编辑代理”测试中的"expect“行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 05:02:17

你是对的,你的间谍不会在每次测试之间重置。

如果我是你,我会做以下修改(如下!):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// !! make a declaration here
let routerSpy: { navigate: jasmine.Spy };

  beforeEach(async () => {
    // !! assign a new object every time in the beforeEach so you get a new
    // spy for every test. Always put mocks first here so they are fresh
    // for every test.
    routerSpy = { navigate: jasmine.createSpy('navigate') };
    await TestBed.configureTestingModule({
      declarations: [ CountyResourcesComponent ],
      providers: [
        ApiService, 
        {
          provide: Router, useValue: routerSpy
        }
      ],
      imports: [
        ReactiveFormsModule,
        HttpClientTestingModule,
        // !! remove RouterTestingModule because you are mocking the `Router` already
        // RouterTestingModule
      ],
      
    })
    .compileComponents();
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71773822

复制
相关文章
测试多种路由规则匹配优先级
名称分别是provider-1,provider-2,provider-3,provider-4
星哥玩云
2022/09/15
9200
测试多种路由规则匹配优先级
Flutter 中路由返回的多种方式
当页面中跳转顺序是A页面-B页面-C页面,如果在B页面中使用上面这个命令跳转到C页面,在C页面返回时会直接跳转到A页面。如果在A页面也是使用的此命令跳转到B页面,那么在C页面中返回时会返回A页面的上一级页面。
越陌度阡
2020/12/29
2.4K0
Flutter中路由返回的多种方式
当页面中跳转顺序是A页面-B页面-C页面,如果在B页面中使用上面这个命令跳转到C页面,在C页面返回时会直接跳转到A页面。如果在A页面也是使用的此命令跳转到B页面,那么在C页面中返回时会返回A页面的上一级页面。
越陌度阡
2022/05/06
1.3K0
Flutter中路由返回的多种方式
【JMeter系列-3】JMeter元件详解之配置元件
参数化配置元件(以下简称CSV)能够在文件中读取一行数据,根据特定的符号切割成一个或多个变量放入内存中。相比于JMeter函数助手中提供的 __CSVRead()、__StringFromFile()函数,CSV使用更加简便。而且,CSV非常适合处理大量的数据,也适用于生成“随机值”、“唯一值”这张的变量。 JMeter支持数据被双引号括起,被双引号括起的数据允许包含分隔符,例如:a,b,"c,d"
云深i不知处
2020/09/16
2.2K0
渗透测试中弹shell的多种方式
在我们渗透测试的过程中,最常用的就是基于tcp/udp协议反弹一个shell,也就是反向连接。
逍遥子大表哥
2021/12/17
5520
渗透测试服务中的工具有哪些
渗透测试涵盖了广泛的内容,所以渗透测试工具也是多种多样的。渗透测试工具可根据不同的功能分为以下四类:
技术分享达人
2021/07/20
1K0
渗透测试服务中的工具有哪些
【说站】python itertools函数的多种用法
python itertools函数的多种用法 1、组合可迭代对象。 import itertools countries = ['USA', 'Australia', 'Canada','Germany'] result = itertools.combinations(countries, 3) for i in result: print(i) 2、允许元素重复。 import itertools country = ['USA', 'Australia', 'Canada','Germany'
很酷的站长
2022/11/24
3700
【说站】python itertools函数的多种用法
基本的三角函数总结
弦 : 可以看作是一个很长的吉他弦 代表长.而直角三角形中.弦长的就是 斜边了.
IBinary
2020/06/02
2.4K0
基本的三角函数总结
支持向量机多种核函数的比较
今天给大家演示下R语言做支持向量机的例子,并且比较下在不进行调参的默认情况下,4种核函数的表现情况。分别是:线性核,多项式核,高斯径向基核,sigmoid核。
医学和生信笔记
2023/08/30
3150
支持向量机多种核函数的比较
Python三角函数
Python包括以下三角函数: 函数 描述 acos(x) 返回x的反余弦弧度值。 asin(x) 返回x的反正弦弧度值。 atan(x) 返回x的反正切弧度值。 atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。 cos(x) 返回x的弧度的余弦值。 hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)。 sin(x) 返回的x弧度的正弦值。 tan(x) 返回x弧度的正切值。 degrees(x) 将弧度转换为角度,如degrees(math.pi/2) , 返回90
用户8442333
2021/05/27
1.2K0
给初学者看的Web开发教程
在这个教程中,微软团队用12周时间、24节课,带领读者学习了JavaScript、CSS 和 HTML等Web开发基础知识。每节课都包括课前测验、课后测验、完成课程的书面说明、解决方案和作业等。该团队基于项目实战教学法,让读者在构建项目的实践过程中完成学习,该团队认为这是一种已经被验证过的,让新人迅速掌握新技能的行之有效的方法。
LIYI
2023/02/15
9660
C语言 深度探究具有不定参数的函数
C语言虽然不支持泛型编程(至少C98是这样的),但是C语言却支持不定参数的函数,这里我深究一下里面的原理,并且学会它的使用,自己简单实现一个简单的printf函数。 注:这里使用的IDE为 vs2022
苏州程序大白
2022/06/12
5130
C语言 深度探究具有不定参数的函数
测试人员需要了解的工具有哪些
大多数初学者. 或者某个领域知识的入行者. 习惯性地去搜集各种看似无用的资料. 视频. 工具。其实. 如果都去研读. 理解. 并应用之. 还是有点用的。否则. 只会占用磁盘空间. 还浪费时间。然而. 工具嘛。虽然不用全部搞懂。但. 还是要懂一点的。
软件测试君
2021/11/09
1.3K0
Jmeter(二)_基础元件
它用来描述一个测试方案,包含与本次性能测试所有相关的功能。也就说本次测试的所有内容是于基于一个计划的。
飞天小子
2018/08/31
8530
Jmeter(二)_基础元件
如何测试 React 路由 ?
本文承接上文 如何测试 React 异步组件?,这次我将继续使用 @testing-library/react 来测试我们的 React 应用,并简要简要说明如何测试路由系统。
狂奔滴小马
2022/03/30
2.1K0
node函数 node路由
访问连接 http://127.0.0.1:1937/hello%20word.html
mySoul
2018/07/26
8990
如何测试 React 路由 ?
本文承接上文 如何测试 React 异步组件?,这次我将继续使用 @testing-library/react 来测试我们的 React 应用,并简要简要说明如何测试路由系统。
狂奔滴小马
2022/01/20
2.1K0
【面试高频系列】具有多种解法的简单题,最优解难度属于 Hard 级别
这是 LeetCode 上的「448. 找到所有数组中消失的数字」,难度为 「Easy」。
宫水三叶的刷题日记
2021/04/26
6140
go语言变参,匿名函数的多种用法
/** * Created by Administrator on 13-12-18. */ package main import ( "fmt" "os" ) func f1(args ...interface {}) { f2(args...) f2(args[1:]...) } func f2(args ...interface {}) { for i, v := range args {
李海彬
2018/03/23
6720
点击加载更多

相似问题

茉莉花spyOn服务测试角元件

10

用茉莉花测试材料设计角元件

10

如何用茉莉花对具有setTimeout的角元件进行ngOnInt测试

11

角嵌套元件路由

10

角存取元件路由

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文