草庐IT

react单元测试

全部标签

javascript - react 模态动态调整大小

我正在使用react-modal这太棒了。是否可以动态调整它的大小(可能使用css媒体标签)。例如,对于大屏幕,模态框只占屏幕的一小部分(假设最大宽度为200像素;对于中等屏幕,模态框占据了大部分屏幕(比方说占屏幕宽度和高度的80%对于移动设备,它占用100%的宽度和高度。 最佳答案 看看这段为你准备的代码。ReactModal.setAppElement('#main');classExampleAppextendsReact.Component{constructor(){super();this.state={showModa

javascript - 如何在 react 输入元素中保持光标位置

光标一直走到最后。从字符串中间开始编辑时如何保持光标位置?我使用的代码是:constrootElement=document.getElementById('root');classMyFancyFormextendsReact.Component{constructor(props){super(props);this.state={myValue:""};}handleCommaSeparatedChange=event=>{const{value}=event.target;this.setState({myValue:value});};render(){return(Curs

javascript - 表单机器人反制测试

我是一个网站的Web开发人员,该网站偶尔会受到表单机器人的困扰。最近,我收到了一个错误通知,指出表单提交存在问题,人类用户应该无法提交。您无法在未启用JavaScript的情况下提交表单,但服务器端脚本收到了JavaScript验证不允许的表单字段值。我怀疑表单机器人在没有运行JavaScript的情况下设法提交了表单,但我不完全确定这是问题所在,因为真实用户遇到了类似的问题。我知道如何使用蜜jar字段作为表单机器人的对策,但我需要测试我的对策。因此,我需要一个有效的表单机器人来攻击我的表单,这样我就可以看到结果是什么,并验证我的对策是否有效。我认为您可以使用PHP和Curl来提交We

javascript - 混合客户端/服务器端测试

我应该如何构建混合了Selenium代码(用于设置页面)和客户端Mocha代码(用于在被测试的客户端JS上实际执行测试)的测试?我正在测试客户端javascript库。单元测试适用于Karma、Mocha和Grunt。单元测试可以在本地运行,也可以通过SauceLabs运行。单元测试基本上能够测试直到实际提交文件的所有部分。这部分需要浏览器自动化和/或手动交互,这正是我正在努力解决的问题。有问题的库是一个Javascript文件上传库。它具有分块、自动恢复等功能。它不需要jQuery,并且适用于各种浏览器(IE7-10、FF、Safari(Mac和iOS)、Chrome、Android

javascript - 配置 karma.js 以使用 react 和 ES6

我尝试用ES6开发一个react模块,但找不到任何生成器,所以我不得不从一个基本的生成器开始。我能够配置几乎所有的东西,但是我在尝试配置karma、测试我的模块时遇到了很多问题。这是我的karma.conf.js//Karmaconfiguration//http://karma-runner.github.io/0.12/config/configuration-file.html//Generatedon2015-03-17using//generator-karma0.9.0module.exports=function(config){'usestrict';config.se

javascript - 混合 $q 和 ES6 promise 时测试 Angular

我遇到一个问题,我的代码混合了ES6Promises和AngularPromises,并且它在生产中工作,因为我无法编写通过的单元测试。此代码片段演示了Jasmine单元测试失败的两个实例,但代码在生产中运行良好://Anangular$qpromisevarf1=function(){return$q(function(resolve,reject){resolve('Thisisfunction1!');});}//AnES6promisevarf2=function(){returnnewPromise(function(resolve,reject){resolve('This

javascript - 有没有办法在 super 测试中设置默认值?

我正在使用supertest模块来测试我的RestAPI。我的API一直发送JSON。所以我正在为所有和每个测试做.expect('Content-Type',/json/)!我一次又一次地重复!这是我的一些代码it('shouldlistALLpermissionson/permissionsGET',(done)=>{request(app).get(permissionsURL).expect(200).expect('Content-Type',/json/).end((err,res)=>{varpermissions=res.body;permissions.should.

javascript - React-router:防止导航到目标路线

我正在使用具有历史记录的react-routeruseQueries(createHashHistory)()并且我有几条我想根据路由配置阻止导航的路由。所以路由配置是这样的:...所以让我们假设我在#/view-2上并调用类似history.push({pathname:'/view-1'});的操作.但是一旦路线view-1有一个标志canNavigate={false}-我想阻止导航到它并显示一条消息而不改变哈希和任何其他副作用(比如调用view-2的onLeaveHook)。我在考虑听历史:history.listenBefore((location,callback)=>{/

javascript - React : Best way to update self, 但阻止 child 更新?

我正在研究拖放实现(从头开始,不使用DND库),并希望在拖动过程中限制不必要更新的数量。拖动“克隆”(通常是原始元素的副本,但可以是任意占位符)是通过更新容器组件(“Clonetainer”)上的状态并使用它来应用转换来实现的。但是,在移动过程中更新整个子树是没有意义的,因为唯一的变化是容器的坐标。这是我的解决方案:constClonetainerRenderShield=React.createClass({shouldComponentUpdate:function(newProps){returnnewProps.shouldUpdate;},render:function(){

javascript - 单元测试 : Number. toLocaleString()

我本以为(10000).toLocaleString('de-DE')会返回"10.000"但我却得到了"10000".是否有不支持的原因?有没有更好的方法来格式化数字? 最佳答案 这是一个webkit问题,PhantomJS不想保持国际化......所以不幸的是我们在一段时间内一直坚持这个问题。https://github.com/ariya/phantomjs/issues/12581我最终做的是编写一个自定义匹配器来检查两者,因为我在Chrome和PhantomJS中运行。jasmine.addMatchers({isAnyO