草庐IT

unit-testing

全部标签

javascript - 如何在 Jest 中监视 window.scrollTo?

我得到了一个非常简单的React组件,具有以下功能:componentDidMount(){window.scrollTo(0,0)}看来你不能做类似的事情window.scrollTo=jest.fn()监视scrollTo函数。因此,我想知道监视此函数并断言它已在我的测试中使用过的最佳方法是什么。谢谢 最佳答案 开个Jest,全局namespace必须通过global而不是window访问。global.scrollTo=jest.fn() 关于javascript-如何在Jest中

javascript - 使用 Jasmine 在 Karma 中进行 AngularJS 工厂测试

我正在尝试通过Karma使用Jasmine测试我的AngularJS应用程序。我收到此错误(至少,这是最新的错误):UncaughtTypeError:Cannotreadproperty'$modules'ofnullat/Users/benturner/Dropbox/Code/galapagus/app/static/js/angular-mocks.js:1866来self的karma.conf.js:files:['static/js/jquery.min.js','static/js/angular.min.js','static/js/angular-mocks.js',

javascript - Sinon stub 是如何工作的?

在过去的几个月里,我一直在使用JavaScript并使用SinonJS来stub一些行为。我已经设法让它发挥作用,我使用了很多方法,一切都很好。但对于诗浓在幕后的运作方式,我还是有些疑问。我想我说的是Sinon,但这个问题可能适用于所有其他旨在模拟/stub/spy的库。过去几年我使用最多的语言是Java。在Java中,我使用Mockito来模拟/stub依赖项和依赖项注入(inject)。我曾经导入类,用@Mock注释字段并将此模拟作为参数传递给被测类。我很容易看出我在做什么:模拟一个类并将模拟作为参数传递。当我第一次开始使用SinonJS时,我看到了这样的东西:moduleUnde

javascript - 在 Rails 中进行 javascript 和 jQuery 测试的 JSpec vs Jasmine vs QUnit

我正在寻找一个与Rails3.0良好集成的javascript单元测试框架谁有使用过上述框架的经验可以分享他们的经验吗?**更新:根据他们的Github存储库,JSpec现已停产:http://github.com/visionmedia/jspec所以这就剩下Jasmine和QUnit 最佳答案 Jasmine与Rails3一起工作得很好,查看如何集成它:http://pivotallabs.com/users/dwfrank/blog/articles/1427-jasmine-in-rails-3

javascript - Jasmine 测试在 Chrome 和 Firefox 中通过,但在 PhantomJS 中失败

我正在使用React构建一个基本的博客应用程序。我正在使用Jasmine和Karma来运行我的前端测试。我启动并运行了第一个测试,它在Chrome(Chromium)和Firefox中通过了测试,但是当它在PhantomJS中运行时,我收到以下错误:PhantomJS1.9.8(Linux0.0.0)ERRORTypeError:'undefined'isnotafunction(evaluating'ReactElementValidator.createElement.bind(null,type)')at/home/michael/repository/short-stories

javascript - 使用 QUnit 对 AJAX 请求进行单元测试

我们正在尝试为JS密集型Web应用程序实现QUnitJavaScript测试。我们正在努力寻找一种方法来成功测试涉及jQueryAJAX请求的方法。例如,我们有下面的构造函数(显然这是一个非常简单的例子):varX=function(){this.fire=function(){$.ajax("someURL.php",{data:{userId:"james"},dataType:"json",success:function(data){//Dostuff}});};};varmyX=newX();myX.fire();我们正在尝试找到一种方法来测试fire方法,最好使用stubU

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 - sinon stub 不替换功能

我正在尝试使用sinonstub来替换可能需要时间的函数。但是当我运行测试时,测试代码似乎没有使用sinonstub。这是我要测试的代码。functiontakeTooLong(){returnreturnSomething();}functionreturnSomething(){returnnewPromise((resolve)=>{setTimeout(()=>{resolve('ok')},1500)})}module.exports={takeTooLong,returnSomething}这是测试代码。constchai=require('chai')chai.use(r

javascript - 使用 renderIntoDocument 测试功能组件

我正在学习使用ReactTestUtils库测试React无状态组件。这是我的简单组件:importReactfrom'react';constGreeter=({name,place})=>(Hello,{name}.Welcometothe{place}.);exportdefaultGreeter;这是我的测试规范,为了让renderIntoDocument正常工作,我按照建议将Greeter组件包装在一个div中here:import{expect}from'chai';importReactfrom'react';importReactTestUtilsfrom'react-