首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular2 之 单元测试

组件的测试 单独的service测试 Angular的测试工具 Angular的测试工具类包含了TestBed类和一些辅助函数方法,当时这不是唯一的,你可以不依赖Angular 的DI(依赖注入)系统,...注入了真是的服务,并使用Jasmine的spy替换关键的getXxxx方法。...通过将测试代码放到特殊的异步测试区域来运行,async函数简化了异步测试程序的代码。 接受无参数的函数方法,返回无参数的函数方法,变成Jasmine的it函数的参数。...和async一样,它也接受无参数函数并返回一个函数,变成Jasmine的it 函数的参数。 fakeAsync函数通过在特殊的fakeAsync测试区域运行测试程序,让测试代码更加简单直观。...这个错误,我意识到了,所以我再第二次调用的地方添加了一个延时执行的函数,这样单元测试是完全正确的,但是这并不是一个好的解决办法。

5.5K20

Angular-内存溢出的问题

本项目用的是angular6搭建,用动态组件的形式来显示页面,之前遇到过因为内存溢出而导致无法aot的问题, Angular4以上的该方法都适用 解决方法:手动改写内存上限 修改目录: my-project...)文件过多; 2)订阅数据没有销毁占用内存,(看了下订阅的数据很少,应该不是的); 3)因为所有的组件都在一个根目录下(上面说了,用的动态组件没用路由),导致需要编译的组件过多?...暂时还不清楚只能先用设置内存上限的方法来解决,有大神的话望不吝指教; 还有一个问题就是用动态组件的方式,组件都在根目录下,会导致首次加载的时间过长。...", "@types/node": "~8.9.4", "codelyzer": "~4.3.0", "jasmine-core": "~2.99.1", "jasmine-spec-reporter...": "~1.1.2", "karma-jasmine-html-reporter": "^0.2.2", "protractor": "~5.4.0", "ts-md5": "

2.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

2017年前端框架、类库、工具大比拼

类库 类库是一个有组织的功能集合。典型的类库包括字符串处理、日期、HTML DOM元素、事件、Cookie、动画、网络请求等功能。你可以自己实现一个函数,以便选择该函数被调用时是否需要返回一个值。...工具帮助实现一个更容易的开发过程。例如,对比于CSS,许多编码者更喜欢Sass,因为它提供了代码分离、嵌套、渲染时变量、循环和函数。...框架可以包括一个类库,类库可以实现类似框架的方法,项目中任何一种工具都是必不可少的。所以不需要明确的区分类库、框架和工具。...优点: 小而简单 良好的文档易于学习 与大多数类库和框架兼容 不扩展内置对象 可以在客户端或服务器上使用 缺点: 有些方法只在ES2015及更高版本的JavaScript中可用。...Jasmine Jasmine 网站 jasmine.github.io 知识库 github.com/jasmine/jasmine-npm

2.3K10

angular面试问题_kafka面试题

Angular中有什么作用? 什么是Jasmine? 在Angular中有什么用? 什么是protractor? 单元测试 Unit Test 什么是Angular中的单元测试?...在Angular项目的根目录下,我们具有用于配置Karma的文件karma.conf。 什么是Jasmine? 在Angular中有什么用?...Jasmine一个javascript测试框架,支持称为行为驱动开发或简称BDD的软件开发实践。 这是测试驱动开发(TDD)的一种特殊风格。...测试工具集(@angular/core/testing)提供的用于构建一个 @NgModule 测试环境模块。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

2.3K20

搭建 karma + jasmine 测试环境

在前端开发的过程中,我们会写很多的功能函数,这样就会涉及到对这些功能函数进行单元测试,而karma就是一个很好用的可以在浏览器环境中进行测试的集成工具。 1....什么是 karma karma 是由Angular团队开发的一款测试工具,帮助开发者更好更快速地在多种环境下执行测试代码,拿到测试结果。...在运行的时候,它会自动启动配置好的浏览器,同时也会启动一个 node 服务器,然后在启动好的浏览器中执行测试代码,并将测试代码执行结果传回给 node 服务器,然后 node 服务器在打印出收到的执行结果...根据配置项的选择安装插件 (1) 测试框架选择的是jasmine,安装步骤如下: $ npm install jasmine-core karma-jasmine -D 复制代码 这里要装两个,一个jasmine...的核心,另一个是karma对jasmine的封装。

1.7K20

【Hybrid开发高级系列】AngularJS(一)——基础专题

作为一个命名习惯,AngularJS内建服务,作用域方法,以及一些其他的AngularJS API都在名字前面使用一个‘’前缀。不要使用‘’前缀来命名你自己的服务和模型,否则可能会产生名字冲突。...另一种方法也可以用来指定依赖列表并且避免压缩问题——使用Javascript数组方式构造控制器:把要注入的服务放 到一个字符串数组(代表依赖的名字)里,数组最后一个元素是控制器的方法函数: var PhoneListCtrl...同时我们注册一个ngClick处理器到缩略图上。当一个用户点击缩略图的任意一个时,这个处理器会使用setImage事件处理函数来把mainImageUrl属性设置成选定缩略图的URL。...resource服务使得用短短的几行代码就可以创建一个RESTful客户端。我们的应用使用这个客户端来代替底层的http服务。...另一个非常需要注意的是,在上面的代码里面,当调用Phone服务方法是我们并没有传递任何回调函数

41780

搭建 karma + jasmine 测试环境

在前端开发的过程中,我们会写很多的功能函数,这样就会涉及到对这些功能函数进行单元测试,而karma就是一个很好用的可以在浏览器环境中进行测试的集成工具。 1....什么是 karma karma 是由Angular团队开发的一款测试工具,帮助开发者更好更快速地在多种环境下执行测试代码,拿到测试结果。...在运行的时候,它会自动启动配置好的浏览器,同时也会启动一个 node 服务器,然后在启动好的浏览器中执行测试代码,并将测试代码执行结果传回给 node 服务器,然后 node 服务器在打印出收到的执行结果...根据配置项的选择安装插件 (1) 测试框架选择的是jasmine,安装步骤如下: $ npm install jasmine-core karma-jasmine -D 这里要装两个,一个jasmine...的核心,另一个是karma对jasmine的封装。

9110

作为JavaScript开发人员,这些必备的VS Code插件你都用过吗?

JS Refactor:提供许多重构JavaScript代码的实用方法和操作,例如抽取变量和方法,把现有代码转为使用箭头函数和模板字符串的等价形式,导出函数等。...Rest Client:相较于用浏览器或者一个CURL程序来测试你的REST API端点,你可以安装这个工具,直接在编辑器里相互性地发HTTP请求。 7....Angular 6:提供Angular 6的代码片段,支持TypeScript、HTML、Angular Material ngRx、RxJS和Flex Layout。...这个插件的重点在于利用箭头函数,尽可能减少花括号的使用,保持代码的紧凑。可通过设置允许使用分号。 Jasmine Code Snippets:针对Jasmine测试框架的代码片段。...Ionic Extesion Pack:这个包里有针对Ionic、Angular、RxJS、Cordova和HTML开发的插件。

2.8K10

这些必备的VSCode JavaScript插件你都用过吗?

JS Refactor(提供许多重构JavaScript代码的实用方法和操作,例如抽取变量和方法,把现有代码转为使用箭头函数和模板字符串的等价形式,导出函数等。)...这里有一些工具,能极大地减少你开发时的这种重复流程,而不是每次都手动刷新浏览器: 1. Debugger for Chrome(在编辑器中打断点,让你轻松地在Chrome里调试JavaScript。...Rest Client(相较于用浏览器或者一个CURL程序来测试你的REST API端点,你可以安装这个工具,直接在编辑器里相互性地发HTTP请求。)...Angular 6(提供Angular 6的代码片段,支持TypeScript、HTML、Angular Material ngRx、RxJS和Flex Layout。...这个插件的重点在于利用箭头函数,尽可能减少花括号的使用,保持代码的紧凑。可通过设置允许使用分号。) Jasmine Code Snippets(针对Jasmine测试框架的代码片段。)

5.7K10

每日前端夜话(0x04):2018年JavaScript状态调查(中)

Angular ? Angular一个基于TypeScript的开源前端Web应用程序平台。 请注意,与以往不同的是,调查的过去版本中还有一个关于AngularJS的问题。...通过对前端框架采用的一种全新方法,它非常有趣,并且是我们“其他工具”类别中迄今为止提到的最多的选项。...更新:很多人都指出,Angular的满意度不高可能部分是由于Angular与较旧的、弃用的AngularJS之间的混淆(之前的调查通过将两者作为单独的项目来避免这个问题)。...这个领域的一个有趣的参与者是Next.js,最近引起了很多人的兴趣。 虽然它与功能齐全的Node后端可比性不太大,但它专注于解决React应用的服务器端呈现问题,使其成为一个非常有用的工具。...Jasmine 最不受欢迎的方面 ? 哪些工具与 Jasmine 一起使用? ? 使用 Jasmine 的国家情况 平均而言,28.1%的受访者使用过 Jasmine ,并乐于再次使用它。

1.5K20

如何管理云原生应用程序的依赖关系

云原生应用是使用微服务开发的,而微服务是小型、独立的服务,它们共同组成了一个更大的应用程序。 微服务是一种能够让开发者更轻松地构建和维护大型应用程序的软件架构。...在微服务架构中,将一个应用分成几个独立的小块,即为服务。每一个服务都可以独立开发和部署,整个过程具有更大的灵活性和可扩展性。 微服务可以在几个方面使云基础设施受益。...其次,微服务使应用程序扩展变得更加容易。当一个应用程序需要扩展或缩减规模时,只对需要改变的服务进行更新即可。最后,微服务可以通过允许滚动更新和部署来提高可用性。...当某个服务发生故障时,其他服务会持续运行,从而提高整个系统的弹性。 当一个数据请求被提交后,它会被路由到一些不同的 Docker 容器,每个容器都在运行一套单独的微服务,为消费者提供服务。...每个容器负责操作一个针对服务客户的单一服务,这些容器能够为用户提供可扩展性和足够的保护水平。 依赖关系如何适应?

1.7K10

angular入门教程_初学者织围巾简单教程慢动作

所以我写这个系列的目标很简单,就是带你学会开车,而不是教你设计发动机。 这个系列的文章非常看重“概念模型”( Mental Model )的构建。...适合阅读的人群 这个系列的文章适合以下人群阅读: Angular 新版本的初学者 有 AngularJS 1.x 经验的开发者 希望了解 Angular 新版本核心特性的开发者 特别注意:这个系列的文章不是前端入门读物...这个地方的本质是在运行时把模板字符串“编译”成了一个 JS 函数。 鉴于 JS 解释执行的特性,你可能会担忧这里会有性能问题。...上面我们多次提到了“编译”这个词,所以很显然这里有一个东西是无法避免的,那就是我们必须提供一个 JS 版的“编译器”,让这个“编译器”运行在浏览器里面,这样才能在运行时把用户编写的模板字符串“编译”成模板函数...对于 Angular 来说,强调“轻逻辑”还有另一个原因:在组件的整个生命周期里面,模板函数会被执行很多次。

3.3K20

4、Angular JS 学习笔记 – 模块

大多数的应用有一个main方法实例化并且链接应用的不同部分。 Angular 应用没有main方法,而是使用模块声明指定一个应用如何可以自启动。...这种方式有几个优势: 陈述性的过程容易理解 你可以打包代码为一个可复用的模块 这个模块可以以任意的顺序加载(甚至可以并行加载)因为模块是延迟执行的。 单元测试只需要加载相关的模块,保持快速。...这个是告诉app使用你的模块。...替代它我们推荐你分解你的应用到多个模块,像这样: 一个模块只用与一个功能 一个模块对于每个可复用的组件(尤其是指令和过滤器) 一个应用级别的模块依赖上面的模块并且包含任何的初始化代码。...it('should alert using the alert service', function() { var alertSpy = jasmine.createSpy('alert')

91320

AngularJS面试常见问题汇总

原理就是,Angular 在 scope 模型上设置了一个监听队列,用来监听数据变化并更新 view 。...1、每个双向绑定的元素都有一个watcher 2、在某些事件发生的时候,调用digest脏数据检测。 这些事件有:表单元素内容变化、Ajax请求响应、点击按钮执行的函数等。...$digest函数就是脏数据监测 3.Angular中的digest周期是什么?...View主要用于界面呈现,与用户输入设备进行交互 ViewModel是MVVM架构中最重要的部分,ViewModel中包含属性,命令,方法,事件,属性验证等逻辑,用于逻辑实现,负责View与Model之间的通信...8.如何进行angular的单元测试? 使用karam+jasmine 进行单元测试,我们通过ngMock引入angular app然后自行添加我们的测试用例。

2K20
领券