草庐IT

javascript - 使用 jest/enzyme 对 formik 组件进行单元测试

我整理了一个非常基本的联系表格,效果很好。但是,我现在需要开始编写我的单元测试,但我遇到了一大堆问题(就像我到目前为止只设法通过了一个快照测试)。因此,首先我尝试测试,如果您没有填写所有必填部分,当您单击提交按钮时,该表单是否应该呈现我的验证消息。我认为我可以通过调用handleSubmit()函数来实现这一点,例如:componentRender.find('Formik').instance().props.handleSubmit(badFormValues,{resetForm});但是,当我运行componentRender.debug()时,我的验证消息没有被呈现。好像没有

javascript - 使用 Jest 模拟在 vue 组件中导入的模块

我在处理documentationofJest时遇到一些问题,因为我希望这段代码能够工作:importVuefrom'vue';importRouterfrom'@/router/index';importOrdersServicefrom'@/services/orders.service';jest.mock('@/services/orders.service');describe('OrdersItem.vue',()=>{beforeEach(()=>{//mockCleardoesnotexistOrdersService.mockClear();});it('should

javascript - 在 Javascript 中使用 Jest 模拟整个模块

我搜索了很长时间如何用jest模拟任何模块(就像rewire那样)。我终于设法做到了这一点,而且效果很好:jest.mock('common/js/browser-utils',()=>({openBrowser:jest.fn()}));const{openBrowser:openBrowserSpy}=jest.requireMock('common/js/browser-utils');但我想知道是否有另一种快速方法可以做到这一点?我看到了genMockFromModule方法,但我从来没有让它工作(也许它不适合这种用法。)我想要的很简单:通过jest.fn()(或任何自动机制)

javascript - 模拟 delay() RxJS 与 Jest

例如,是否有简单的方法在一个带有假时间的可观察对象中模拟RxJS的delay()方法?我有这个方法:register(user){returnthis._checkLog(user).delay(500).flatMap(...)}当我删除delay()方法时,我对_register()的测试全部成功。 最佳答案 RxJSv6对于这样的RxJSv6代码:代码.jsimport{of}from'rxjs';import{delay}from'rxjs/operators';exportconstexample=of('hello').

javascript - React 组件在浏览器中正确呈现,但呈现 : "Only a ReactOwner can have refs" 时 Jest 测试错误

我在React中有两个组件可以很好地呈现并在浏览器中产生预期的行为,但在通过Jest运行测试时似乎无法呈现。描述.jsvarReact=require('react/addons');var$=require('jquery');varDescription=require('./description.js');varDescriptions=React.createClass({getInitialState:function(){//containeralwaysstartswithatleastonedescriptionfieldthatisempty,orwhateveri

javascript - 为什么 Jest 测试命名约定是这样的?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion为什么Jest测试命名约定是这样的?为什么测试文件夹名为__tests__,并带有下划线?为什么测试文件的后缀是-test.js而不是something.js?

javascript - React Jest 测试无法读取未定义的属性 'pathname'

不确定为什么我的简单Main.test文件中会出现此错误。Main.js的构造函数exportclassMainextendsComponent{constructor(props){super(props);this.state={location:splitString(props.location.pathname,'/dashboard/')}if(R.isEmpty(props.view)){isViewServices(this.state.location)?this.props.gotoServicesView():this.props.gotoUsersView()}

javascript - 如何将 lint-staged 与 jest --collectCoverageFrom 一起使用

我正在使用lint-staged与Jest测试框架仅测试自上次提交以来更改的文件,如thisblog中所述.我的配置如下:"src/**/*.{ts}":["prettier--write","tslint--fix--project.","jest--bail--findRelatedTests","gitadd"]我还想只为更改的文件生成覆盖率报告。为此,我必须将已更改文件的列表放在多个位置。jest--bail--findRelatedTests--collectCoverageFrom=使用lint-staged,如何限制测试和覆盖率报告仅针对已更改的文件?

javascript - 如何使用 supertest 和 jest 测试图像上传(流)?

我的API中有一个图像上传端点,它接受application/octet-stream请求并处理这些流。我想为此端点编写测试覆盖范围,但无法弄清楚如何使用super测试来流式传输图像。到目前为止,这是我的代码:importrequestfrom'supertest'consttestImage=`${__dirname}/../../../assets/test_image.jpg`describe('Uploadendpoint',()=>{test('Successfullyuploadsjpgimage',async()=>request(app).post(`${ROOT_UR

javascript - 如何在 JEST 中模拟 localStorage.setIem 和 localStorage.removeItem

当我尝试如下Jest模拟react组件的localStorage时,spyOn(window.localStorage,'removeItem');window.localStorage.removeItem("key1");window.localStorage.removeItem("key2");expect(window.localStorage.removeItem).toHaveBeenCalledWith("key1");expect(window.localStorage.removeItem).toHaveBeenCalledWith("key2");并使用以下代码进