angular面试问题_react基础面试题

angular面试问题_react基础面试题Angularv8+面试系列Angular面试题汇总1-基本知识Angular面试题汇总2-Component/Service目录Angular中的测试有哪些种,基于哪些测试框架什么是Karma?在Angular中有什么作用?什么是Jasmine?在Angular中有什么用?什么是protractor?单元测试UnitTest什么是Angular中的单元测试?AngularUT的最佳实践测试Service时,有其他依赖如何处理?端到端测试(e2e)Angular中的测试有哪些.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Angular v8+面试系列

Angular中的测试有哪些种,基于哪些测试框架

Angular的测试主要包括单元测试(Unit Test)和端到端测试(e2e)。

  • 单元测试(Unit Test):基于jasmine和Karma。jasmine是一套通用的测试框架,除了Angular之外,也有广泛引用;Karma是Angular专用的用于管理测试配置等的框架,让测试代码方便的在指定浏览器执行;另外,根据喜好,也可以选择 Mocha 和 Chai。
  • 端到端测试(e2e):基于protractor。protractor是Angular专用的e2e框架。

什么是Karma? 在Angular中有什么作用?

Karma是用于在浏览器环境中针对测试代码执行源代码的工具。 它支持在为其配置的每个浏览器中运行测试。 同时将结果显示在命令行和浏览器上,或者输入标准格式的报表,供开发人员检查哪些测试通过或失败。 Karma还会监视文件,并且只要文件发生更改,就可以触发测试重新运行。 同时Karma还可以统计代码覆盖率(Code Coverage)。
在Angular项目的根目录下,我们具有用于配置Karma的文件karma.conf。

什么是Jasmine? 在Angular中有什么用?

Jasmine是一个javascript测试框架,支持称为行为驱动开发或简称BDD的软件开发实践。 这是测试驱动开发(TDD)的一种特殊风格。

Jasmine和BDD通常尝试以一种人类可读的格式描述测试,以便非技术人员可以理解所测试的内容。

什么是protractor?

protractor是Angular的端到端测试框架。 它在真实的浏览器中运行测试,并像真实的人一样与之交互。 与单元测试不同,在单元测试中,我们测试各个功能,而在这里,我们测试整个逻辑。 protractor能够填写表格,单击按钮,并确认预期的数据和样式显示在HTML文档中。

就像Karma一样,Protractor在Angular项目的根目录protractor.conf中拥有自己的配置文件。

单元测试 Unit Test

什么是Angular中的单元测试?

单元测试用于测试隔离中的单个功能,单个组件,特点是隔离和之星快。在此单元测试中,我们不能说应用程序中的一切都很好,而是仅针对单个单元或功能,即可确保正常工作。

Angular UT的最佳实践

  • 在beforeEach() 中初始化使用到的上下文;
  • describe(),it() 中的描述要清晰。方便阅读,方便测试失败时快速定位;
  • 使用after() ,afterEach()重置测试改变的全局状态;
  • 每1个具体测试用例,不要过于复杂,尽量保证在15行代码以内

什么是TestBed,有什么作用

TestBed 就是Angular测试工具集(@angular/core/testing)提供的用于构建一个 @NgModule 测试环境模块。可以

  1. TestBed.configureTestingModule,准备测试环境
  2. 利用 TestBed.createComponent 创建一个用于测试目标组件的测试组件

测试Service时,有其他依赖如何处理?

使用TestBed创建用例是,将依赖项加到providers中

TestBed.configureTestingModule({ 
   
  providers: [YourDependencyService]
});

端到端测试(e2e)

基于Protractor,测试成本比较高,一般能覆盖阳光测试用例(sunny case)即可。


Angular v8+面试系列

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183470.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 回溯算法 js_回溯算法代码

    回溯算法 js_回溯算法代码回溯算法是算法设计中的一种回溯算法是一种渐进式寻找并构建问题解决方式的策略回溯算法会先从一个可能的动作开始解决问题,如果不行,就回溯并选择另一个动作,直到将问题解决使用场景有很多路在这些路中,有死路和出路通常需要递归来模拟所有的路leetcode46:全排列解题思路要求:1所有排列情况;2没有重复元素有出路有死路使用回溯算法解题步骤用递归模拟出所有情况遇到包含重复元素的情况,就回溯收集所有到达递归终点的情况,并返回code//时间复杂度O.

    2022年10月4日
    3
  • 图解 AD9364模块 TDD与FDD

    图解 AD9364模块 TDD与FDD转载自:http://iphonebbs.cnmo.com/thread-14714263-1-1.html如图和明显TDD是这一秒上行,下一秒下行FDD是两个通道再详细点就是TDD就是这一个时段进,下一个时段出,所以叫做时分双工,速度越快,衰落变换频率越高,衰落深度越深,因此必须要求移动速度不能太高。而FDD是双向通道,是两个频段,所以叫做频分双工,FDD模式的特点是在分离(上下行频率间隔…

    2022年6月7日
    38
  • 详解mysql 主从复制原理

    详解mysql 主从复制原理

    2022年2月19日
    48
  • pycharm设置文件头_pycharm添加环境变量

    pycharm设置文件头_pycharm添加环境变量1.设置的路径是File->settings->Editor->FileandCodeTemplates->PythonScript内容见图:这样新建文件的时候就会默认头如下:这里说明下#!/usr/bin/evnpython和 #!/usr/bin/python的区别:第一种写法是在PC的Path中找寻第一个python用来执行你所编写的脚本信息

    2022年8月29日
    5
  • pycharm社区版安装步骤_pycharm安装教程2020社区版

    pycharm社区版安装步骤_pycharm安装教程2020社区版一、PyCharm的安装和配置1.1PyCharm社区版的安裝(windows系统)1.1.1、查看电脑配置:点击我的电脑右键选择属性![在这里插入图片描述](https://img-blog.csdnimg.cn/20201027105320621.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text…

    2022年8月27日
    4
  • 新网站500内部服务器错误,解决网站http服务器内部500错误[通俗易懂]

    新网站500内部服务器错误,解决网站http服务器内部500错误[通俗易懂]针对此问题关键解决办法:WEB站点右键属性——》目录(配置)–》选项–》启用父路径WEB站点目录要有iusr用户,并且iusr用户(如果是新建的用户也要给权限)要用读取、写入权限(如果里面不需要运行asp、php脚本就不需要给写入)2、一般情况如果客户端ie开启了查看程序错误,可以看到详细的错误,可以根据错误提示到百度搜索即可。3、针对iis访问量过大的原因,例如asp无法访问了,但php却可以…

    2022年8月12日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号