草庐IT

unit-testing

全部标签

javascript - 如何使用嵌套函数(javascript、jasmine)为第 3 方库编写 mock

我是TDD的新手,我正在尝试编写使用第三方库(跨平台移动开发)的可测试代码。我想进行测试以仅检查我们的业务逻辑。不用担心它们的实现。此外,他们的库仅在native包装器中公开。由于使用js作为开发语言,我想使用jasmine进行测试并运行测试以仅在浏览器中检查我的业务逻辑。以下是我想在测试时忽略/模拟的方法模式。com.companyname.net.checkInternetAvailable(url)com.companyname.store.getValue(key)com.companyname.someother.name(whateverObj,callback)etc.,

javascript - Should.js:检查两个数组是否包含相同的字符串

我有两个数组:vara=['a','as','sa'];varb=['sa','a','as'];shouldJS有什么特别的东西可以测试这两个数组是否有相同的项目?什么都喜欢should(a).be.xyz(b)那可以测试它们吗?在这里,xyz是我正在寻找的。 最佳答案 一个简单但可能足够的解决方案是在比较数组之前对数组进行排序:should(a.sort()).be.eql(b.sort())请注意sort()worksin-place,改变原始数组。 关于javascript-Sh

javascript - 我们如何使用 ember-cli 对模型混合进行单元测试

我的应用程序中几乎没有Ember.Mixin包含DS.attr()和/或DS.belongsTo()。我想知道我应该如何对它们进行单元测试?默认情况下,ember-cli生成这个测试test('itworks',function(assert){varMyModelObject=Ember.Object.extend(MyModelMixin);varsubject=MyModelObject.create();assert.ok(subject);});但是当我尝试与DS.attr()交互时,出现以下错误:TypeError:Cannotreadproperty'_attribute

javascript - Sinon - stub 模块功能并在没有依赖注入(inject)的情况下对其进行测试

我有一个代理模块,它将函数调用转发给服务。当调用此代理模块中的函数时,我想测试是否调用了服务函数。这是代理模块:constpayService=require('../services/pay')constwalletService=require('../services/wallet')constentity={chargeCard:payService.payByCardToken,//...someotherfn}module.exports=entity基于thisexample和thisresponse,我试图stub所需的模块“payService”:constexpec

javascript - 如何对页面导航进行单元测试?

用例是这样的:我想对页面中运行的代码进行单元测试(在浏览器、QUnit或类似的东西中)。页面可以做的事情之一是导航到另一个页面。我无法捕捉到这个事件,因为:beforeunload无法停止操作(因此第一个导航离开破坏了我的测试)尝试使用返回旧值的getter重新定义window.location或window.location.href并禁止监视setter我知道出于安全原因不允许停止导航,但对于开发而言,能够这样做确实很有用。有没有可能这样做(我无法直接控制测试运行器,所以我不能只在iframe中加载代码并让它导航然后检查iframe的位置)?编辑:更具体一点:我想测试,是否基于来自

javascript - Karma/Jasmine 测试自定义指令 Controller

我正在尝试使用Karma+Jasmine测试AngularJS自定义指令。我找到了一种方法来检查网络上的许多引用资料。但解决方案似乎不是正确的方法。让我们先看一个例子,这是test.js:angular.module("app",[]).directive("test",function(){return{restrict:'E',scope:{defined:'='},templateFile:"test.html",controller:function($scope){$scope.isDefined=function(){return$scope.defined;};}};})

javascript - chai 没有在 Karma-mocha 中定义

我正在使用mocha-phantomjs配置成功运行我的测试用例。现在我正在使用Karma启动器运行这些测试。但我遇到了问题Chaiisnotdefined。这是我的配置文件。module.exports=function(config){config.set({client:{mocha:{ui:'tdd'}},basePath:'',frameworks:['mocha'],files:['web/js/*.js','test/lib/*.js','node_modules/chai/chai.js'//addedthisonsuggestionoftheanswerinstack

javascript - 类型错误 : parsed is undefined on angularjs service unit test

我正在尝试对使用$http的服务进行单元测试。我正在使用Jasmine,但我一直收到此错误:TypeError:parsedisundefinedinangular.js(line13737)这是我的服务的样子:angular.module('myapp.services',[]).factory('inviteService',['$rootScope','$http',function($rootScope,$http){varinviteService={token:'',getInvite:function(callback,errorCallback){$http.get('

javascript - 使用 Jasmine 测试 Angular Controller 中的非作用域函数

Jasmine是使用最广泛的测试框架之一,以BDD方式对javascript代码进行单元测试。我试图将它用于AngularJS组件测试。AngularJS文档提供了以下示例代码describe('PasswordController',function(){beforeEach(module('app'));var$controller;beforeEach(inject(function(_$controller_){$controller=_$controller_;}));describe('$scope.grade',function(){it('setsthestrength

javascript - 使用 Jest 模拟基于 promise 的请求

我正在尝试使用Jest对函数进行单元测试,但我在处理jest模拟模块时遇到了一些麻烦(相当于nodejs世界中的rewire或proxyquire)。我实际上是在尝试测试是否已使用一些参数在模拟模块上调用了spy程序。这是我要测试的功能。注意:当前测试只涉及“fetch(...)”部分,我正在尝试测试fetch是否已使用good参数调用。exportconstfetchRemote=slug=>{returndispatch=>{dispatch(loading());returnfetch(Constants.URL+slug).then(res=>res.json()).then(