草庐IT

react单元测试

全部标签

javascript - React 是否会自动 trim 已从 DOM 中删除挂载点的组件?

例如,如果我使用renderComponent渲染到DOM节点,然后手动删除DOM节点,我是否只是泄漏了内存?渲染到删除的DOM节点的React组件是否被trim? 最佳答案 您可能泄漏了内存。使用React.unmountComponentAtNode(node) 关于javascript-React是否会自动trim已从DOM中删除挂载点的组件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

javascript - 使用 karma runner 的总测试执行时间

我们目前已切换到在browserstack上远程运行单元测试。在karma-browserstack-launcher的帮助下在多个操作系统上的多个浏览器中插件。目前测试运行的输出是这样的:$gruntunit:remoteRunning"unit:remote"taskRunning"karma:remote"(karma)taskINFO[karma]:Karmav0.12.23serverstartedathttp://localhost:9876/INFO[launcher]:Startingbrowserfirefox21.0(OSXMountainLion)onBrowse

javascript - 使用 Jasmine 对 $modal 进行单元测试

我有一个带有Controller的Angular应用程序,它在函数调用期间显示Angular-Strap模态窗口。它在Chrome中正常运行,但我无法进行有效的单元测试。App模块和FooController:varapp=angular.module("app",["mgcrea.ngStrap"]);app.controller("FooController",function($scope,$modal){varfooModal=$modal({title:'Foo',content:'Bar',show:false,html:true,backdrop:'static',pla

javascript - 使用 Jasmine 测试异步回调

我正在使用Jasmine2.1。我正在尝试使用Jasmine2.1来测试模块。我的模块之一具有异步执行代码的功能。当应用程序完成执行时,我需要测试函数的结果。有没有办法做到这一点?目前,我的模块看起来像这样:varotherModule=require('otherModule');functionMyModule(){}MyModule.prototype.state='';MyModule.prototype.execute=function(callback){try{this.state='Executing';varm=newotherModule.Execute(funct

javascript - React 的 getDOMNode 总是返回组件的根 DOM 节点而不是引用的节点

我正在努力在React中使用refs。它们总是返回组件的根DOM节点而不是引用的节点。请考虑以下示例:varAuthApp=React.createClass({onSubmitClick:function(event){varusernameInput=this.getDOMNode(this.refs.username);//Thislogsrootinsteadof,why???console.log(usernameInput);},render:function(){return();}});我检查了优秀的ChromeReact插件中的代码,似乎this.refs.usern

javascript - 使用 Chutzpah 运行 QUnit (TypeScript) 测试给出 "Called start() outside of a test context while already started"

我有一个相当简单的重现,结果我不明白。确保安装了Chutpah测试适配器4.0.3。使用VisualStudio2013执行以下步骤:创建一个新的.NET4.5.1类库项目;添加NuGet包qunit.TypeScript.DefinitelyTyped0.1.7;将TypeScript文件file1.ts添加到项目中,内容如下:///QUnit.test("QUnitisworking",assert=>assert.ok(true));在该文件内右键单击并从上下文菜单中选择“运行JS测试”。我可以确认file1.js是按预期生成的。结果是没有运行任何测试,测试资源管理器没有显示测试

javascript - 在 React JS 中的组件之间切换

我想创建一个包含2个组件的简单流程。第一个组件被渲染,我点击它上面的一个按钮,这个Action渲染第二个组件。单击第二个组件的按钮,它应该切换回第一个组件,但是却发生了错误:Warning:React.createElement:typeshouldnotbenull,undefined,boolean,ornumber.Itshouldbeastring(forDOMelements)oraReactClass(forcompositecomponents).Checktherendermethodofexports.warning@react.js:20728ReactElemen

javascript - 如何在 Angular2 中对 Http get MockBackend 进行单元测试?

如何在Angular2中对HttpgetMockBackend进行单元测试?我在测试我的http单元测试时遇到问题。每次我查看MockBackend时,它似乎都令人困惑,很多代码和一些导入永远无法工作。我只想要一个非常基本的httpget单元测试我正在使用:typescript、angular2、jasmine和karmarunner。我的实际代码工作正常。这是我正在测试的代码:import{Injectable}from'angular2/angular2';import{HTTP_PROVIDERS,Http,Headers}from'angular2/http';@Injecta

javascript - 单元测试时如何测试绑定(bind)函数是否相等?

我想测试传递给函数的参数是函数引用,但函数引用是使用bind()传递的。考虑要测试的代码(为简洁起见缩短):initialize:function(){this.register(this.handler.bind(this));}这个单元测试检查register()是否被handler()调用:it('registerhandler',function(){spyOn(bar,'register');bar.initialize();expect(bar.register.calls.argsFor(0)[0]).toEqual(bar.handler);});arg不等于我猜测的函

javascript - React Native 循环这个

当我将onPress放在map循环中时,它不起作用。如何解决?varPageOne=React.createClass({_handlePress(){this.props.navigator.push({id:2,});},render(){return(//workhereOne{list.map(function(item,index){return(//doesn'tworkhehre{item})})});}}); 最佳答案 this指的是错误的上下文,您需要对作用域进行词法绑定(bind),这就是粗箭头函数将为您做的。尝