首页 > TAG信息列表 > jasmine

DIV+CSS静态HTML网页设计模板

/ 01 / 主题 《Jasmine》 / 02 / 图摘  

Typescript+自定义Inject+Jasmine/Karma(单元测试及覆盖率报告)

有angular、nestjs经验的程序员一定会意识到依赖注入(dependency injection)带来的便利, 当然依赖注入不是什么新鲜的概念,并且也不是nodejs平台首创。 本文旨在介绍如果自己定义一个简单的注入帮助类。 实践步骤如下: 安装依赖 npm init --y npm install typescript ts-node jasmin

jasmine.objectContaining 的单步调试

装饰好的 engine 调用 setup options: engine 指的是下图这段绿色代码: 现在准备执行下面这段代码了: 准备调用被 mock 过的 engine 函数: 即下图 1 的函数: 只要 spy 被调用,其调用时传入的参数,必定可以被记录: 看这段代码: jasmine.objectContaining 的适用场合: jasmine.object

jasmine.any(Function)

该函数的一个使用场景: it(`should pass parameters to the original engine instance`, () => { expect(originalEngineInstance).toHaveBeenCalledWith( mockPath, mockOptions, jasmine.any(Function) ); }); 语义: originalEngineInst

Angular jasmine单元测试框架spied method的调用记录数据结构

基于UnknownErrorHandler的handleError方法创建一个spy 方法: 第40行调用的是spied之后的新方法: 因为调用的是Spied之后的wrapper方法,在wrapper方法的执行里有track逻辑,即记录方法调用使用的参数和response: 所有被spy之后的方法调用都记录在jasmine的内部数据结构calls里,它

Angular jasmine单元测试框架里expect.toHaveBeenCalled的工作原理

第120行给handler.handleError方法注入spy后,第121行代码flush HTTP Mock request会触发handler.handleError(的wrap实现)调用。第123行代码检测该方法是否真正被调用过。 首先执行expect(handler.handleError), 给handler.handleError创建一个spec: 实际上调用currentRunnab

Angular jasmine单元测试框架spec的运行时数据结构

以我单元测试里这段代码为例: 通过describe函数创建一个suite,即spec的集合: 真正的spec由函数it创建:其中expectable是human readable的字符串描述信息,描述该spec具体要测试哪些东西,assertion就是具体的包含单元测试的代码。 spec内部的expect方法调用:调用env.expect: 使用s

[Unit test] jasmine createSpyObj

beforeEach(() => { contextStub = { debug: false, engine: jasmine.createSpyObj('engine', [ 'createCollection', 'createContext', 'createSchematic', 'createSourceFromUrl

javascript-Jasmine数据提供程序不起作用(jasmine_data_provider_1.using不是函数)

我正在尝试通过使用茉莉花数据提供程序来实现项目中的数据驱动测试. 我有一个如下的data.ts文件 export const hardshipTestData = { scenarios: { scenario1: { isHome: 'Yes' }, scenario2: { isHome: 'No' }

javascript-使用茉莉花进行单元测试window.onerror

我对javascript相当陌生,正在尝试使用jasmine对一些错误处理代码进行单元测试. 特别是,我正在尝试编写一些测试,以验证是否调用了替换window.onerror()的自定义代码(称为windowHandleError),并且正在执行我们想要的操作. 我已经尝试了以下方法: it("testing window.onerror"

javascript-使用茉莉和Sublime Text 2

我已经找到了一个将茉莉花测试集成到2级高位文本https://github.com/gja/sublime-text-2-jasmine中的插件,但我无法使其正常工作.它看起来像TextMate插件的端口. 有人知道如何使其正常工作吗? 提前致谢 编辑:实际上,该插件不集成与茉莉花崇高…运气不好:(解决方法:软件包唯一增加的是

如何测试经过身份验证的页面上的javascript隐藏/显示行为?

上下文:登录并查询自己的个人资料后,用户可以单击其头像,此单击将显示一个下拉菜单,其中包含“上传头像”选项.当用户单击此选项时,它将打开一个模式,该模式带有一个表单,用于上传头像的新图像. 我正在使用twitter bootstrap处理下拉列表(和模式). 当然,我要测试一下.但是我不知道如

javascript-使用茉莉花模拟到服务器的调用

我想使用茉莉花来模拟对服务器的Ajax调用,并测试完成和失败的Deferred Object. 目前,我实际上是在做它们,因此尝试向服务器发送一堆呼叫. 我应该如何修复以下代码 mySpy = spyOn(backendController, 'submitForm').andCallThrough(); // it makes a real call to the server myS

javascript-如何用茉莉花测试邮寄电话?

我正在尝试在JavaScript上用茉莉花测试功能,但是我有一个问题,我还没有找到任何信息来测试$.post或$.get函数,因为我使用的是完成的($.延迟)(异步)不知道如何处理.代码如下 function registrarUsuario(cel, eMail, nombre){ $.post(url, { phone_number : cel, emai

javascript-测试使用$routeParams作为URL参数的AngularJS服务

我正在使用Jasmine来测试我的服务.我的一项服务使用$routeParams作为URL参数.现在当我测试时,$routeParams变得不确定 这是我的服务代码 this.getProjectFunction = function (options) { $http.get(rootUrl + $routeParams.projectName)

javascript-如果所有方法都是私有的,如何测试jQuery插件?

这是一个简单的jQuery插件的示例: 它需要一个元素,如果是div则设置一个宽度 ;(function ($, window, document, undefined) { var pluginName= 'changeDivWidth', defaults = { width: '50%' }; function Plugin (element, options) { this.element =

javascript-在Jasmine测试中未定义AngularJS $scope.$watch回调函数参数

我在名为ctrl.test的范围变量中的控制器中定义了$scope.$watch. $watch的回调函数在生产部署中使用正确的值(newVal)进行调用,但是当从Jasmine测试中调用时,将使用undefined进行调用. 直接访问ctrl.test确实会产生正确的值. 有人能对此有所启发吗?这是一个Plunk用来摆弄.解决方法:当

角度单元测试:如何在没有范围的情况下测试控制器属性

我正在尝试为控制器编写一些测试,但是此文档上的所有文档/教程/ etc均使用$scope上的函数和变量进行了演示.如果您想测试不在$scope上的东西怎么办? 例如: app.controller('fakeCtrl', function($scope) { var foo = 'bar'; function fooBar() { console.log('foo

javascript-带有iframe的茉莉花灯具

我正在使用茉莉花装置,我想使用其中包含iframe的HTML编写测试. 问题在于测试在我的iframe加载之前执行. 库本身是否有解决方案?还是我必须实现自己的机制才能等待? 这是代码: 治具: <iframe id="test-iframe1" class="test-iframe1" src="data/tests/pages/iframe1.html" style="width

javascript-Jasmine,Angular的“ rootScope.$broadcast”测试

我正在尝试为具有$rootScope.$on(‘accountsSet’,function(event)….的控制器编写一个测试….因此,在测试中,我使用的是.broadcast.andCallThrough(),这里还有许多其他问题在SO建议虽然它也对我有用. 所以我的控制器非常简单: angular.module(‘controller.sidemenu’,[]) .contro

javascript-茉莉花测试,addEventListener

我正在尝试使用茉莉花编写测试.它是针对有角度的应用程序,其中我使用$window.open打开一个窗口,然后设置几个事件侦听器. 这是控制器: $scope.login = function() { LoadingService.show(); AccountsService.setPro($scope.pro); if ($scope.pro) { options.

javascript-在执行测试之前从模块加载数据

(我最近问this question并接受了一个答案,但这仍然不是我所需要的.)我确实需要根据从模块加载的数据创建动态测试.数组中的每个项目都有其自己的带有某些量角器动作的describe语句.我以前的帖子给出了一个答案,该答案说要使用it语句,但是我不能这样做,因为发生了太多事情. 我的主要

javascript-Function.prototype.apply.apply-为什么要两次调用

今天,在检查Jasmine的源代码here时,我偶然发现了以下内容: if (queueableFn.timeout) { timeoutId = Function.prototype.apply.apply(self.timeout.setTimeout, [j$.getGlobal(), [function() { var error = new Error('Timeout - Async callback was not invoked withi

javascript-茉莉花:如何期望承诺处理程序不会引发异常

我有这个功能: reload() { myService.queryData() .done(...) .always(() => throw "fake exception"); //just to simulate the failure } 我想要我的测试重载函数,并确保它不会引发异常,也不会在promise回调中引发异常. describe("reload", function () {

javascript-量角器:如何获取当前浏览器的宽度?

我希望基于浏览器是默认的“桌面”模式还是某些移动专用功能要求的“移动”模式运行一些辅助功能代码.高度始终为800,但宽度可以为600或1280. login: function() { var self = this; var browserSize = browser.manage().window().getSize().then(function(size) { // siz