jasmine专题提供jasmine的最新资讯内容,帮你更好的了解jasmine。
以下是我假定那些极少或压根没写单元测试的人准备的,因此,会白话解释诸多概念性问题,同时会结合 Jasmine 与之对应的方法进行讲解。 一、概念 Test Suite 测试套件,哪怕一个简单的类,也会有若干的测试用例,因此将这些测试用例集合在一个分类下就叫Test Suite。 而在 Jasmine 就是使用 describe 全局函数来表示,它的第一个字符串参数用来表示Suite的名称或标题,第
Angular单元测试在所有前端框架当中不要太爽了,但是要全面说好它,还真需要很长的篇幅,因为各种测试方式就如同在写一份Angular入门级开发一样。因此,我打算使用一个系列来说明。 当然,一切的前提是,你同我一样认同单元测试的重要性。 简介 如何使用Jasmine进行Angular单元测试 Router、Component、Directive、Pipe 以及Service单元测试 单元测试技巧
(这里有一个相关问题: Jasmine test does not see AngularJS module) 我只是想测试一个服务没有bootstrapping Angular。 我看看一些例子和教程,但我不会去任何地方。 我只有三个文件: > myService.js:其中我定义了一个AngularJS服务 > test_myService.js:其中我为服务定义了一个Jasmine测试。 >
本节将涵盖Angular常用的组件单元测试方法,例如:Router、Component、Directive、Pipe 以及Service,原本是打算分成两节,但后来一想放在一起会更适合阅读,虽然看起来比较长。 但,在此之前,我建议先阅读系列的前两节,可能先更系统性的了解Angular单元测试以及一些框架说明。 注:本节略长,因此,我将遵循以下规则。 每一小节为一个类型的起点,且互不冲突。 每一小节
在以下示例测试中,原始提供程序名称为APIEndpointProvider,但是对于注入和服务实例化,约定似乎是必须使用下划线来包装它。这是为什么? 'use strict'; describe('Provider: APIEndpointProvider', function () { beforeEach(module('myApp.providers')); var APIEn
当单元测试一个Angular工厂(使用Karma Jasmine)时,如何将一个stub依赖注入到测试的工厂? 这里是我的工厂: mod = angular.module('myFactoryMod', []); mod.factory('myFactory', [ '$log', 'oneOfMyOtherServices', function($log, svc) { retur
我使用Jasmine编写AngularJS的指令测试,并使用templateUrl: https://gist.github.com/tanepiper/62bd10125e8408def5cc 但是,当我运行测试,我得到错误包括在提示: Error: Unexpected request: GET views/currency-select.html 从我在文档中读到的,我认为我做的正确,但它似
我需要测试事件被正确地发射或广播,并手动触发事件。 什么是最好的方法做到这一点? 如果你只是需要一些测试事件触发和捕捉,这是我怎么做。为了确保某个事件被触发($ emit-ed或$ broadcast-ed),间谍是要走的路。你需要一个引用的范围,将调用$ emit或$ broadcast,然后只是做这样的事情: spyOn(scope, "$emit") //run code to test e
如何在Angular中单元测试一个过滤器? 注入$过滤器,然后调用它$ filter(‘filterName’)(input,options); 所以要测试相当于这个模板{{foo | testFilter:capitalize}} describe('The test filter', function () { 'use strict'; var $filter; befor
在Vojta Jina的卓越的存储库中,他演示了指令测试,他在模块包装器之外定义了指令控制器。看这里: https://github.com/vojtajina/ng-directive-testing/blob/master/js/tabs.js 这不是坏的做法和污染全球命名空间吗? 如果一个人有另一个地方,它可能是合乎逻辑的调用的东西TabsController,不会打破东西吗? 所提到的指令
假设我有一个依赖于两个状态服务计划和仓库的服务商店。如何将不同版本的进度表和仓库注入车间进行单元测试? 这里是我的服务: angular.module('myModule').service('shop', function(schedule, warehouse) { return { canSellSweets : function(numRequiredSweets)
有没有人有一个如何单元测试提供程序的示例? 例如: config.js angular.module('app.config', []) .provider('config', function () { var config = { mode: 'distributed', api: 'path/to/api' };
我有一些简单的karma /茉莉花单元测试运行一个angularjs应用程序。我使用最新版本的Chrome,并从WebStorm IDE中运行我的测试。 有时测试套件运行非常快(0.24秒) 有时完全相同的测试套件完全相同的代码运行非常缓慢(120秒) 我试过了每一个常识。我已经搜索网络尝试和发现我做错了。 为什么我的测试运行这么慢? 答案变得很简单。 我使用Chrome运行karma服务器。当您
所以我没有看到另一个问题: How to mock required directive controller in directive UT这基本上是我的问题,但似乎这个线程的答案是“改变你的设计。我想确保没有办法做到这一点。我有一个指令,声明一个控制器被儿童指令使用。我现在试图写儿童指令的茉莉花测试,但我不能让他们在测试中编译,因为他们依赖于控制器。这是它的外观: addressModule.
我有一个角服务叫做requestNotificationChannel: app.factory("requestNotificationChannel", function($rootScope) { var _DELETE_MESSAGE_ = "_DELETE_MESSAGE_"; function deleteMessage(id, index) { $
正如我们在 http://docs.angularjs.org/tutorial/step_07看到的, angular.module('phonecat', []). config(['$routeProvider', function($routeProvider) { $routeProvider. when('/phones', {templateUrl: 'parti
看起来promises do not resolve in Angular/Jasmine tests unless you force a $scope.$digest().这是愚蠢的IMO但很好,我有工作在适用(控制器)。 我现在的情况是我有一个服务,可以关心任何范围的应用程序,所有它从服务器返回一些数据,但promise似乎没有解决。 app.service('myService', fun
我正在为一个AngularJS单元测试嘲笑一个服务。我使用$ provide服务来替换’真正的’服务与模拟的一个(这是一个 plunker script可用): describe('My Controller', function () { var $scope; var $provide; beforeEach(angular.mock.module('myApp')
我有一个ParseService,我想嘲笑的顺序测试所有的控制器,使用它,我一直在阅读关于茉莉花间谍,但它仍然不清楚我。任何人都可以给我一个例子,如何模拟自定义服务,并在控制器测试中使用它? 现在我有一个控制器使用服务插入一本书: BookCrossingApp.controller('AddBookCtrl', function ($scope, DataService, $location)
我试图用Jasmine spec文件单元测试一个Angular服务。这需要加载模块。这里有一个简单的规范,试图简单地加载Angular模块: describe('Submission services', function () { it('Finds angular', function () { module('submissionServices'); }); }); 当我运