草庐IT

jest-jasmine

全部标签

javascript - 如何将外部从 webpack 传递到 jest?

我在grunt构建过程中得到了这个webpack配置:module.exports={options:{output:{path:path.resolve('../ui/static/js'),filename:'[name].js',chunkFilename:'[id].[name].js',libraryTarget:'amd',library:'[name]'},externals:['jquery','lodash','backbone','backbone.layoutmanager','moment','spin','lib/select2.min','dispatche

javascript - 使用 .toHaveBeenCalledWith 的 Jasmine 测试注册表失败

我正在处理的单页应用程序有一个包含两种表单的登录View:登录表单和注册表单。以下规范描述了这些表单的测试。我正在使用Jasmine-jQuery1.4.2.//user_spec.jsdescribe("User",function(){varuserController;beforeEach(function(){loadFixtures('menu.html');userController=newMyApp.User.Controller();});describe("LoginView",function(){beforeEach(function(){//Mockthe$.

javascript - 用于使用 Jest 进行测试的共享实用程序函数

我在各种Jest测试中使用了一些实用程序函数,例如这样的函数,用于模拟获取响应:exportconstmockFetchJsonResponse=(data)=>{ok:()=>true,json:()=>data};我想以一种可以导入它们并在我的测试中重用的方式共享这些函数。例如://Some.spec.jsxfile//...import{mockFetchJsonResponse}from'some/path/to/shared/tests/utils.jsx'//ThenIcanusemockFetchJsonResponseinsidethistest//...我应该在哪里放

javascript - 如何添加 Jasmine 自定义匹配器 Typescript 定义?

我去过lookingaround这个问题看起来像一个recurringthing.但是,我发现的解决方案似乎都不适合我。使用以下内容:{"typescript":"2.3.2","jasmine-core":"2.6.1","@types/jasmine":"2.5.47"}我无法让Typescript合并包含我的自定义匹配器定义的命名空间声明。添加这个:declarenamespacejasmine{interfaceMatchers{toBeAnyOf(expected:jasmine.Expected,expectationFailOutput?:any):boolean;}}隐

javascript - 与 jsdom 开 Jest ,文档在 Promise 解析中未定义

场景尝试使用Jest(和Enzyme)测试一个简单的React组件。该组件使用react-dropzone,我想测试一些涉及DOM的操作,所以我使用jsdom(已由create-react-app配置)问题document对象虽然在我的测试代码中可用并且在组件内部可用,但在dropzoneonDrop回调中是undefined,这会阻止测试运行。代码MyDropzoneimportReactfrom'react'importDropzonefrom'react-dropzone'constMyDropzone=()=>{constonDrop=(files)=>{fileToBase6

javascript - 如何使用 Jest 和 React 测试库测试类名

我是JavaScript测试的新手,正在新的代码库中工作。我想编写一个测试来检查元素上的类名。我正在和Jest一起工作,ReactTestingLibrary。下面我有一个测试,它将根据variant属性呈现一个按钮。它还包含一个类名,我想测试一下。it('RenderswithaclassNameequaltothevariant',()=>{const{container}=render()expect(container.firstChild)//CheckforclassNamehere})我试图在google上搜索类似Enzyme具有hasClass的属性,但我找不到任何东西

javascript - 期望一个 float 数组接近 Jasmine 中的另一个数组

我正在测试一个返回数字数组的Javascript函数,以查看返回的数组是否包含与包含预期输出的数组相同的元素:expect(myArray).toEqual(expectedArray);如果myArray和expectedArray仅包含整数,则此操作完美无缺,但如果存在至少一个float,则会因浮点精度错误而失败。toBeCloseTo似乎对数组不起作用。目前我正在循环进行成员检查:for(vari=0;i...但是有没有更简洁的方法来做到这一点?如果测试因任何原因失败,输出将包含大量骇人听闻的错误消息。 最佳答案 下面的代码应

javascript - Jasmine 不能监视事件处理程序?

尝试使用Jasmine测试事件处理程序是否在单击的元素上被调用。有一个包含DOM元素“PadElement”的“Pad”对象,它会被点击。事件处理程序是Pad对象上的一个方法:GRAPH.Pad=function(graphDiv,graph){this.graph=graph;this.clickHandler=function(e){console.log('padElementclickHandlercalled');//this.graph.createVertex(e.clientX,e.clientY);};this.padElement=GRAPH.padElement(

javascript - 我什么时候应该在我的 Angular JS 单元测试中使用 $provide 与 Jasmine Spies

我在一个大型Angular应用程序上工作,最初我们通过使用$provide来模拟服务来完成大量测试。然而,我们现在在我们的测试中有很多JasmineSpies,以便对服务进行stub和监视。即spyOn(myService,'myMethod').andReturn'myValue'我们真的应该为此使用$provide还是在某些情况下监视服务是最好的方法?在Angular测试中,他们使用spyspyingonJquery我会将其视为外部服务。spyOn(jq.prototype,'on');$provide似乎更多用于内部服务。module(function($provide){$pr

javascript - 在 Jest 中调用 React 的 this.props.onClick(this) 时到底应该测试什么?

我一直在为我的所有事件(当然还有其他一切)编写测试,但我不知道如何测试this.props.onClick(this)在子组件上被调用。我的子组件有以下代码:closeModal:function(){this.props.onClick(this);},render:function(){return()}家长是这样听的:onCloseModal:function(){this.replaceState({modalStatus:'hidden'});},render:function(){return()}我知道如何测试parent的点击事件,我也知道如何在测试中调用child的按