草庐IT

jest-jasmine

全部标签

javascript - 如何使用 Jasmine 对链式方法进行单元测试

我在对以下方法进行单元测试时遇到问题:$scope.changeLocation=function(url){$location.path(url).search({ref:"outline"});};我编写了以下单元测试,但目前因出现此错误而失败(类型错误:无法读取未定义的属性“搜索”):var$locationMock={path:function(){},search:function(){}};it('changeLocationshouldupdatelocationcorrectly',function(){$controllerConstructor('CourseOut

javascript - 使用 jest 时如何设置 jsdom

我正在尝试从AVA迁移到Jest。在AVA中可以设置ava.setup,在其中设置jsdom环境。例如,创建DOM结构并执行必要的polyfill(localStorage)。我如何在Jest中完成它?目前,我在每个测试套件中都使用beforeEach,感觉这不是最佳解决方案。提前致谢! 最佳答案 好问题。Jest实际上附带了jsdom并且环境已经配置好了。您可以使用testEnvironment覆盖它setting.如果您需要设置环境的更多方面,您可以使用setupTestFrameworkScriptFilesetting指向在

javascript - 为 React-Native 应用开 Jest 测试 Animated.View

我尝试使用JestforReact-Native测试Animated.View。当我将属性visible设置为true时,它​​应该将我的View从opacity0动画化为opacity1。这是我的组件呈现的内容:{message}opacityValue在propsvisible改变时更新:Animated.timing(this.opacityValue,{toValue:this.props.visible?1:0,duration:350,},).start(),当我设置属性visible=true时,我想确保我的View可见。尽管View变得可见需要一些时间,并且随着测试的运

javascript - 使用 Jest 和 React JS TestUtils 测试表单

我有一个带有3个单选按钮的表单,如下所示(假名):而且我很难尝试测试onChange和onSubmit事件。inputs=TestUtils.scryRenderedDOMComponentsWithClass(MyComponentRendered,'myRadio');myForm=TestUtils.findRenderedDOMComponentWithClass(MyComponentRendered,'myForm');我有这样的测试:it("changesthecheckedstatewhenclicked",function(){MyComponent.change=j

javascript - Jasmine 单元测试具有两个依赖项的 AngularJS 工厂($http 和另一个返回 promise 的工厂)

我正在为自定义应用程序使用Ionic框架。在此过程中,我正在尝试为工厂编写单元测试datastoreServices它依赖于DomainService和$http.我对Jasmine单元测试的实现感到困惑。我的工厂如下。app.factory("datastoreServices",["$http",function($http){return{getData:function(data,DomainService){return$http.post(DomainService.host+'factor',data);}};}]);app.factory('DomainService'

javascript - 当我尝试使用 jasmine 进行测试时,应用程序文件夹未加载到 Ext.appliation 中

我正在尝试在我的应用程序(Extjs5)中实现jasmine以进行单元测试。为此,我创建了应用程序测试文件。Ext.require('Ext.app.Application');Ext.Loader.setConfig({enabled:true});Ext.onReady(function(){varApplication=Ext.create('Ext.app.Application',{name:'epmct',appFolder:'app',launch:function(){Ext.create('epmct.view.vpp.dashboard.VppDashboardMa

javascript - 自定义 Jasmine Matcher 中已解决和已拒绝的 promise

故事:我们开发了一个自定义的jasmine匹配器,它主要做两件事:将鼠标悬停在给定元素上检查是否显示了带有所需文本的工具提示实现:toHaveTooltip:function(){return{compare:function(elm,expectedTooltip){vartooltipPage=requirePO("tooltip");browser.actions().mouseMove(elm).perform();browser.wait(EC.visibilityOf(tooltipPage.tooltip),5000,"Tooltipisstillnotvisible."

javascript - 开 Jest transformIgnorePatterns 不起作用

我花了很长时间查看关于此的其他问题并查看Github上的其他项目,但似乎没有一个答案对我有用。我正在我的项目中加载第三方库,在运行Jest测试时出现错误exportdefaultportalCommunication;^^^^^^SyntaxError:Unexpectedtokenexport>1|importportalCommunicationfrom'mathletics-portal-communication-service';我已尝试通过多种方式更新我的Jest配置以使其能够转译该库,但我总是遇到同样的错误。这是我当前的jest.config.js文件:module.ex

javascript - 有没有办法用 Jest 按顺序运行一些测试?

Jest默认情况下并行运行您的测试套件,但有一个标志(--runInBand)允许您按顺序运行整个套件(如指出的here)我有一些无法并行运行的测试,但按顺序运行整个套件总共需要更长的时间,所以我的问题是是否有办法只运行一些测试(例如为这些测试或类似的东西设置一个标志)。 最佳答案 我也需要同样的功能。我有一大套要运行的Jest集成测试套件。但是,由于需要设置和拆卸共享资源,有些无法并行运行。所以,这是我想出的解决方案。我更新了我的package.json脚本:{..."scripts":{..."test":"npmruntest

javascript - 如何使用 Jest 为带有 Promise 的代码编写单元测试

我正在尝试使用Jest和Jasmine-pit为以下代码编写单元测试,但我完全被它难住了。该代码是一个ajax调用,它从资源中检索一些数据并将其保存在变量中。init=function(){vardeferred=Q.defer();$.ajax({type:'GET',datatype:'json',url:window.location.origin+name,success:function(data){userId=data.userId;apiKey=data.apiKey;deferred.resolve();}});returndeferred.promise;},