草庐IT

react单元测试

全部标签

javascript - 如何在 react 路由器的登录页面中隐藏导航栏

我想在登录页面隐藏导航栏。我确实做了,但是在其他页面看不到导航栏。此代码是我的App.jsx文件的一部分。我在App的状态下创造了历史。当此路径名为“/”或“/login”时,我会隐藏导航栏。有效!但随后我输入了ID和密码,并单击了登录按钮,得到了“成功”结果,并导航到了“/main”。现在我在主组件中也看不到导航栏了。我该怎么做?抱歉我的英语很短。如果你不明白我的问题,你可以发表评论。constructor(props){super(props);this.state={isAlertOpen:false,history:createBrowserHistory(),};this.t

javascript - 如何修复 "TypeError: fsevents is not a constructor" react 错误

在使用npmstart启动React应用程序时发生此错误...我试过下面的东西:删除node_module包并重新安装使用yarn代替npm3.使用npm更新fsevent库仍然出现这个错误注意:如果我们创建React应用程序fresh/newyarnstart会工作,但我们关闭终端并使用以下相同的东西重新启动会发生以下错误/Users/nannam/test-app-2/node_modules/chokidar/lib/fsevents-handler.js:28return(newfsevents(path)).on('fsevent',callback).start();^Ty

javascript - 与 Webpack 的 resolve.root 选项同构 React

我的React应用使用Webpack的resolve.root相对于我的JS文件的根目录。IE。我的文件结构包含以下内容:componentsApp.react.jscontainersAppContainer.react.js在AppContainer.react.js中,我有:importAppfrom'components/App.react';这在客户端有效。现在我试图让它同构。如果我在我的server.js中需要AppContainer.react.js,它会说找不到components/App.react。Node正在尝试要求containers/components/Ap

javascript - 使用 react-router v4 和预取数据进行服务器渲染

我在RR3的服务器端渲染方面做了很多工作,所以我想看看它在v4的上下文中是如何工作的。我按照网站上的教程进行操作,但是由于渲染是与路由匹配一起进行的,因此无法像以前那样实现预取数据。以下是我过去使用v3进行服务器渲染的方式:https://github.com/alexnm/react-seed/blob/master/server/index.js基于匹配函数,我将从所有组件树调用所有预取函数,然后等待Promise.all让他们完成,然后触发renderToString函数并返回html。在RR4中,我们只有组件,所以我提出的当前解决方案是复制渲染代码:https://github

javascript - 如何在 Jest 测试中导入 JSON 文件?

我正在使用Jest测试我的应用程序,但出现如下错误:SyntaxError:Unexpectedtoken}行女巫发生的错误是:import{something}from"../my-json.json";如何在Jest测试中导入JSON文件? 最佳答案 如此处所述:istherearequireforjsoninnode.js你可以使用:importsomeObjectfrom('./somefile.json')这也应该有效:consttestObject=require('../config/object');然而,当我使用j

javascript - 在运行测试之前使用 sequelize 种子文件种子数据库

如何使用sequelizeseeder文件在我的测试文件(Jest)中执行rake样式命令?我正在尝试做与此相同的事情,但使用sequelize。describe('routes:movies',()=>{beforeEach(()=>{returnknex.migrate.rollback().then(()=>{returnknex.migrate.latest();}).then(()=>{returnknex.seed.run();});});afterEach(()=>{returnknex.migrate.rollback();});}); 最佳

javascript - JavaScript/Mocha-如何测试是否已等待函数调用

我想编写一个测试,检查我的函数是否使用await关键字调用其他函数。我希望我的测试失败:asyncmethodA(){this.methodB();returntrue;},我希望我的测试能够成功:asyncmethodA(){awaitthis.methodB();returntrue;},我也想让成功地使成为我的测试:methodA(){returnthis.methodB().then(()=>true);},我有一个解决方案,方法是使用process.nextTick对该方法进行stub并强制其在其中返回假promise,但这似乎很丑陋,我不想在测试中使用process.nex

javascript - 测试 CSS :hover with Jasmine

所以我有一个简单的div,当鼠标悬停时会根据我的css中的定义更改其背景:.my-class{background-color:#FFFFFF;}.my-class:hover{background-color:#F2F2F2;}我尝试用jasmine测试这种行为,但测试一直失败:it"Shadows.soboo-drop-itemwhenhover",->$('.my-class:first').trigger('mouseover')expect($('.my-class:first').css('background-color')).toBe("#F2F2F2")Expecte

javascript - QUnit 测试在 Travis CI 上失败(在带有 grunt.js 的 phantomjs 上运行)

我们在JavaScript上的开源项目enchant.js中引入了带有travisCI的CI系统。https://github.com/wise9/enchant.js我们喜欢qunit测试,我们使用grunt.js(npm)运行它们,但它在TravisCI上失败并出现如下错误:PhantomJStimedout,possiblyduetoamissingQUnitstart()call.Use--forcetocontinue.完整的错误信息在这里:https://travis-ci.org/wise9/enchant.js/builds/4016842奇怪的是,每次我运行grunt

javascript - headless (headless) JavaScript 测试 HTML5 音频/视频

我知道还有很多其他类似的问题,但是答案并没有提供解决这个问题的方法。我的网站上使用了一个使用HTML5网络音频的JavaScript文件,我想对其进行单元测试。我研究过将QUnit与PhantomJS结合使用,在你说什么之前我知道Phantom不支持它(http://phantomjs.org/supported-web-standards.html),但是我想知道是否有办法解决这个问题?在浏览器中使用QUnit测试它会像您预期的那样工作,但我不想每次都使用浏览器测试它,我希望它在服务器上自动进行。其中一个测试失败的示例:QUnit.test("isPlaying",function(