【Jasmine 编写 JavaScript 测试用例】教程文章相关的互联网学习教程文章

使用 Jasmine 进行测试驱动的 JavaScript 开发【代码】【图】

Jasmine 为 JavaScript 提供了 TDD (测试驱动开发)的框架,对于前端软件开发提供了良好的质量保证,这里对 Jasmine 的配置和使用做一个说明。目前,Jasmine 的最新版本是 2.3 版,这里以 2.3 版进行说明。网上已经有一些关于 Jasmine 的资料,但是,有些资料比较久远,已经与现有版本不一致。所以,这里特别以最新版进行说明。1. 下载官网地址:http://jasmine.github.io/官网文档地址:http://jasmine.github.io/2.3/introducti...

Jasmine 编写 JavaScript 测试用例【代码】【图】

1,下载Jasmine 包,主要包括如下三个文件:1>,jasmine-html.js,jasmine.css,jasmine.js2>,编写测试用例,代码如下:describe("Examples of Jasmine suite", function() {//List 1describe("This is an exmaple suite", function() {it("contains spec with an expectation", function() {expect(true).toBe(true);expect(false).toBe(false);expect(false).not.toBe(true);});});//List 2describe("Test suite is a function.", fun...

JavaScript测试工具之Karma-Jasmine的安装和使用详解_javascript技巧【图】

1.Karma介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma。Karma是一个让人感到非常神秘的名字,表示佛教中的缘分,因果报应,比Cassandra这种名字更让人猜不透! Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner)。该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuous integration)工具,也可和其他代码编辑器一起使用。这个测试工具的一个强大特...

JavaScript测试工具之Karma-Jasmine的安装和使用详解【图】

1.Karma介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma。Karma是一个让人感到非常神秘的名字,表示佛教中的缘分,因果报应,比Cassandra这种名字更让人猜不透! Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner)。该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuous integration)工具,也可和其他代码编辑器一起使用。这个测试工具的一个强大特...

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

我正在尝试通过使用茉莉花数据提供程序来实现项目中的数据驱动测试. 我有一个如下的data.ts文件export const hardshipTestData = {scenarios: {scenario1: {isHome: 'Yes'},scenario2: {isHome: 'No'}} };我正在使用规范文件中的上述数据import { using } from 'jasmine-data-provider'; import { hardshipTestData } from '../../data/testdata';using(hardshipTestData.scenarios, function (data, description) {it('testing da...

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

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

javascript-Jasmine,Angular的“ rootScope.$broadcast”测试【代码】

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

javascript-单元测试Karma Jasmine SyntaxError:“&”角度指令绑定上的解析错误【代码】

我在要使用“&”的指令行中收到SyntaxError:解析错误.与父指令的方法进行单向绑定myApp.directive('datasourceDeleteBtn', [function() { return {restrict: 'E',replace: true,template: '<a href="#">&#x2715</a>',scope: {datasourceIndex: '@',removeParentDiv: '&'},link: link };function link(scope, element, attr) {element.bind('click', function(event) {event.preventDefault();scope.deleteDatasource(scope.dataso...

javascript-TypeError:jasmine.createSpy(…).andCallFake不是函数【代码】

在Jasmine单元测试中使用andCallFake函数时,出现此错误:TypeError: jasmine.createSpy(…).andCallFake is not a function可能缺少什么?解决方法:它应该是spyOn(target, 'method').and.callFake(...); jasmine.createSpy().and.callFake(...); // alternatively和和callFake之间有一个点.如documentation州 问候

使用Karma Jasmine-如何测试元素和JavaScript?【代码】

我已经尝试了一段时间来测试js和dom元素,最后遇到了有助于测试dom元素的业力.但是到目前为止,我所拥有的一切都不起作用.任何帮助将不胜感激.我一直在使用本教程:http://www.bradoncode.com/blog/2015/02/27/karma-tutorial/,但无法正常使用. js:window.calculator = window.calculator || {};(function() {var result;var adding = function(one, two) {var one1 = document.forms["myForm"]["one"].value;var two2 = document.f...

javascript-Jasmine和requireJs-不匹配的匿名define()模块:【代码】

我试图将Jasmine.js测试与require一起使用. 这是我的specRunner的一部分<script type="text/javascript" src="<?php echo $rootRequirejs?>/require.js"></script> <script type="text/javascript">require.config({baseUrl: "./"}); </script>这是我的规格文件的一部分define([], function () {});当我运行specRunner时,出现以下错误,为什么?Uncaught Error: Mismatched anonymous define() module: function () {} http://requi...

javascript-我可以在浏览器中运行Jasmine Protractor测试吗?【代码】

我正在准备使用量角器和茉莉花进行E2E测试的套件.目前,我正在使用Node从命令行运行它们.过去,我将Jasmine测试与SpecRunner.html设置一起使用,该设置在运行时在浏览器中显示结果,允许您选择要运行的单个测试或测试的子套件,等等. 有没有人以这种方式设置Jasmine Protractor测试-输出进入一个浏览器窗口,而测试则在另一个浏览器窗口中运行? 另外,即使我仍然必须从命令行运行测试,是否有Jasmine报告程序将提供类似的输出格式?解决方...

javascript-AngularJS和Karma-Jasmine-仅当存在一个或多个待处理请求时,才刷新$httpbackend【代码】

是否可以调用$httpbackend.flush();?仅当有一些待处理的请求时?所以我永远不会Error: Unflushed requests: 1,2,3,…,n要么Error: No pending request to flush !解决方法:根据documentation,您可以使用$http.pendingRequests属性.这样的事情会起作用:if($http.pendingRequests.length > 0) {$httpBackend.flush(); }我不确定这是个好主意,但是应该可以.

javascript-将本地JSON加载到AngularJS中的Jasmine / Karma单元测试中【代码】

我正在测试一个回调函数,该函数接受一个响应对象作为唯一参数.该对象是在其他地方发出的HTTP请求的响应,因此我不想在此测试中使用$httpBackend,因为该请求与该功能无关. 在home.js中,它是我应用程序主页的控制器. 这是正在测试的功能:function submitLogin() {LoginService.login(loginPost, ctrl.username, ctrl.password, successCallback, errorCallback);}// gets called in LoginService if login reponse is 201, otherwise...

javascript – AngularJs Jasmine单元测试中的$httpBackend【代码】

我无法让我的单元测试正常工作.我有一个$scope数组,它开始是空的,但应该用$http.get()填充.在真实的环境中,阵列中大约有15个左右的对象,但是对于我的单元测试,我只抓了2.对于单元测试,我有:expect($scope.stuff.length).toBe(2);但茉莉的错误是:预期0为2. 这是我的controller.js:$scope.stuff = []; $scope.getStuff = function () {var url = site.root + 'api/stuff';$http.get(url).success(function (data) {$scope.stuff =...

JAVASCRIPT - 技术教程分类
JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语... JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JavaScript 对象 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JavaScript Window JavaScript Window Location JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JavaScript 库 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JavaScript 对象 HTML DOM 对象 JavaScript 异步编程 javascript 全部