草庐IT

jest-jasmine

全部标签

javascript - 如何在 Jest 中重置手动模拟

我有一个crypto的手动模拟,如下所示://__mocks__/crypto.jsconstcrypto=jest.genMockFromModule('crypto')consttoString:Function=jest.fn(()=>{return{}.toString()})constmockStringable={toString}constupdate:Function=jest.fn(()=>mockStringable)constdeciper={update}crypto.createDecipheriv=jest.fn(()=>deciper)exportdefa

javascript - 在 Node.js 中使用 Jasmine 测试子 process.send

我有一个Node.js应用程序,它有一个main-process.js和一个child-process.js。main-process.js看起来像这样:varchildProcess=require('child_process');varjob=childProcess.spawn('node',["child-process.js"],{detached=true,stdio:['ipc']});我的child-process.js执行一些任务并通知父进程它的状态,它使用:exports.init=function(){//someprocessinghereprocess.se

javascript - $rootScope.digest 没有完成 Jasmine 中的 promise

我们目前正在尝试测试我们的Angular服务,它使用promise将值返回给Controller。问题是我们附加到.then的函数不会在Jasmine中被调用。我们发现在返回promise后将$rootScope.digest()添加到函数中允许调用同步promise,但它仍然不适用于异步promises。目前的代码是beforeEach(inject(function(Service,$rootScope){service=Service;root=$rootScope;}));it('getsalltheavailableproducts',function(done){servi

javascript - Jasmine:如何在 ES6 上监视导入的函数/构造函数?

我想知道如果我在babel中使用ES6导入/导出,我如何在Jasmine上监视/stub功能?importMobileDetectfrom'mobile-detect';it('shouldspyMobileDetect',()=>{MobileDetect=jasmine.createSpy('MobileDetect');});`第一个问题是我无法重写只读模块模块构建失败:SyntaxError:/Users/oleg/projects/rp/popup/lib/spec/popup.spec.js:"MobileDetect"isread-onlyit('shouldspyMob

javascript - 在 Jasmine 中,array.includes 不起作用(必须用其他函数代替)。为什么?

我的问题看起来很奇怪。我有一个带有一个新的、非常简单的函数的构造函数,它应该检查一个变量是否包含在一个数组中。它工作得很好(我在一个表单中使用这个函数)。但是...我无法对此函数编写任何单元测试,因为Karma/Jasmine看不到数组的“包含”函数。有人可以建议我该怎么做吗?这里的情况稍微简化了一点://要测试的构造函数vm.isNameAlreadyUsed=function(){//debutlogging:console.log("vm.allNames",vm.allNames);//output:vm.allNames['A','B','C']console.log("an

javascript - jest snapshot 使用 enzyme 打破情绪 10/babel 7

所以我的开Jest快照可以正常工作,使用babel6/emotion9在快照中生成css和html但是我需要更新到babel7和emotion10但是我的enzyme快照测试不再有效。代码编译并在更新所需代码后工作正常,只是测试被破坏(迁移文档中没有显示与测试设置更新相关的任何内容)。test('rendersproperly',()=>{//thisworksgeneratingthecorrectcss/htmlsnapshotoutputexpect(renderer.create(test).toJSON()).toMatchSnapshot();//thisdoesnotco

javascript - Grunt jasmine 测试在终端中失败但在浏览器中失败

我已经使用grunt和jasmine设置了一些测试,但是当我尝试在终端中运行测试时遇到了问题。我看到这个错误:>>Errorcaughtfromphantom.MoreinfocanbefoundbyopeningtheSpecRunnerinabrowser.当我在浏览器中运行specrunner文件时,我看到我的所有测试都通过了并且没有显示任何类型的错误。有谁知道这个问题的原因是什么?这是我的Gruntfile:module.exports=function(grunt){grunt.initConfig({pkg:grunt.file.readJSON('package.json

javascript - 使用 gulp-jasmine 指定依赖关系

我有以下gulpfile.js:vargulp=require('gulp'),jasmine=require('gulp-jasmine');gulp.task('default',function(){returngulp.src('spec/test.js').pipe(jasmine());});spec/test.js中的代码使用全局angular变量,但是,当我运行gulptaskdefault时会抛出一个关于它未定义的错误。假设angular是在全局范围内的文件spec/lib.js中定义的。在test.jsdescribe()之前,我如何告诉jasmine()它需要首先

javascript - Foundation-Apps angular 站点与 karma-jasmine 单元测试的集成

我认为在尝试运行karmajasmine单元测试时使用angular-mocks和foundation-apps存在问题。也可能是我错过了什么。由于要看的代码太多,我在github上发布了一个示例项目以供审查。基本上网站运行良好,karma运行测试,但是当您调试到angular.mocks.module函数时,您会发现您的应用程序中的模块没有被加载。如果您将foundation-apps排除在外,它将正常工作。这会不会是版本冲突,因为foundation-apps对angular-mocks有较旧的依赖性?fatestongithub 最佳答案

javascript - 使用 Karma Jasmine 进行 Angular JS 测试

我有一个像这样的示例路线:angular.module('appRouter',['ui.router']).config(function($stateProvider,$urlRouterProvider){$stateProvider...........state('settings.account',{url:'/account',templateUrl:'templates/account.html',controller:function(resolveData){console.log(resolveData);},resolve:{resolveData:functi