草庐IT

react单元测试

全部标签

javascript - QUnit、Sinon.js 和 Backbone 单元测试受挫 : sinon spy appears to fail to detect Backbone Model event callbacks

在下面的单元测试代码中:TestModel=Backbone.Model.extend({defaults:{'selection':null},initialize:function(){this.on('change:selection',this.doSomething);},doSomething:function(){console.log("Somethinghasbeendone.");}});module("Test",{setup:function(){this.testModel=newTestModel();}});test("intra-modeleventbi

javascript - 如何在 angularjs 测试中模拟 $location.host()?

我已经创建了一个包含环境信息的Env服务,我目前正在使用$location.host()来确定我所处的环境。我如何在我的测试中模拟它?我读过https://groups.google.com/forum/?fromgroups#!topic/angular/F0jFWC4G9hI,但它似乎不起作用,例如:describe("Env(environment)service",function(){varEnv;beforeEach(module('App'));beforeEach(inject(['Env',function(e){Env=e;}]));describe("forsta

javascript - 测试 Jasmine 中自定义事件的处理

我想确保在触发自定义jQuery事件时,对象的方法作为事件处理程序被调用;但是单元测试似乎返回了假阴性,因为我的实现效果很好。(这是使用TwitterFlight和FlightJasmineextensions的测试套件的一部分,但这只是一个普通的Jasminespy。)describe('listeningforuiNeedsPlanevent',function(){varspy;beforeEach(function(){spy=spyOn(this.component,'getPlan');$(document).trigger('uiNeedsPlan');});it('ge

javascript - Sails.js:如何实际运行测试

我对sails、node和js完全陌生,所以我可能遗漏了一些明显的东西。我正在使用sails0.10.5和Node0.10.33。在sails.js文档中有一个关于测试的页面http://sailsjs.org/#/documentation/concepts/Testing,但它没有告诉我如何实际运行它们。我已经根据该文档设置了目录,添加了一个名为test/unit/controllers/RoomController.test.js的测试,现在我想让它运行。没有“sailstest”命令或类似的命令。我也没有找到任何关于如何添加任务的迹象,因此测试总是在“升sails”之前运行。

javascript - 在 React js 中做一次,然后每 15 秒做一次

我有以下代码:varPanel=React.createClass({getInitialState:function(){return{user_id:null,blogs:null,error:false,error_code:'',error_code:''};},shouldComponentUpdate:function(nextProps,nextState){if(nextState.error!==this.state.error||nextState.blogs!==this.state.blogs||nextState.error_code!==this.state

javascript - 如何从 react 中的组件实例访问静态函数?

我有一个组件,其中定义了许多静态函数(通过组件定义中的statics属性)。我需要在生命周期方法中访问这些静态函数之一componentDidMount.我尝试了以下this对象有一个statics属性,但这似乎是null总是this对象也有一个_owner,它又有一个statics属性(property)。同样,这始终是null然后我试了this.constructor..这对我有用。我只是想知道这是否是访问为组件定义的静态函数的正确方法,还是有其他我不知道的东西。 最佳答案 通过this.constructor访问您的静态方法和

javascript - 未捕获的类型错误 : Cannot read property 'toUpperCase' of undefined react state item

我是React和Javascript的新手,我正在尝试呈现以下React组件:'usestrict';varReact=require('react');importToReadListfrom'./toreadlist.js';varToRead=React.createClass({getInitialState:function(){return{bookTitles:[]};},handleSubmit:function(e){e.preventDefault();this.state.bookTitles.push(React.findDOMNode(this.refs.bo

javascript - 如何在 vim 中添加 react jsx 作为 javascript 文件类型并启用 eslinting、自动完成?

我最近开始使用vim。我想设置具有.jsx的文件扩展名被视为.jsVim中的java脚本文件。我也想用我的.jsx启用es-linting、片段文件。我在我的系统中安装了以下软件包npminstall-geslintnpminstall-gbabel-eslintnpminstall-geslint-plugin-react我也安装了Bundle'mxw/vim-jsx'在vim中支持jsx。还在我的.vimrc文件中添加了以下几行letg:syntastic_javascript_checkers=['eslint']letg:jsx_ext_required=0编辑找到了这个用于r

javascript - Chai断言测试对象结构是否至少包含其他对象结构

我使用Mocha进行单元测试,使用Chai进行断言。我想找到一种易于使用的解决方案来检查对象是否具有我的比较对象中定义的结构和属性。但我不需要对象完全相等。被测对象至少应该包含我的测试对象中的所有属性,但它也可能包含当时未被测试的其他属性。所以,我想测试一个单元来检查它返回的对象是否至少有一个名为“foo”的属性,它本身是一个至少包含值为10的属性“bar”的对象。所以,我有要测试的预期结果:varexpected={foo:{bar:10}};我调用我的单元并将我的测试对象放在变量sut中:varsut=MyUnit.myFunction();所以对于各种suts,我期望这些结果:/

javascript - React-Router 的历史对象问题

我正在使用React和ReactRouter构建一个非常简单的网页。我已经使用NPM安装了最新版本的ReactRouter模块(v3.0.0),在我的index.js文件中写了3个非常简单的路由:importReact,{Component}from'react';import{render}from'react-dom';import{Router,Route}from'react-router';//ImportcustomcomponentsimportAboutfrom'../components/about.js';importContactfrom'../component