草庐IT

unit-testing

全部标签

javascript - 如果在 angularJS 的配置中配置,则测试 stateProvider 状态在 $state 上返回 null

我有这样一个配置:angular.module('myModule',['ui.router']).config(['$stateProvider',function($stateProvider){$stateProvider.state('app.home',{abstract:true,url:'/home',template:'FooBar'});}]);和像这样使用jasmine的单元测试:'usestrict';describe('Module:myModule',function(){var$rootScope,$state;beforeEach(module('ui.r

javascript - Jest 中 unmock 和 dontMock 的区别

所以我一直在编写一个成功的单元测试库,而且一切看起来都很顺利。然后我在一些在线示例中注意到我这样做的地方:-jest.unmock('../lib/q');其他人这样做:-jest.dontMock('../lib/q');我在Jest网站上找不到任何文档(老实说,文档不是很好),所以我将我的一个套件更改为dontMock并爆炸了很多...有什么区别? 最佳答案 这是coveredintheJestdocumentation.似乎我们现在都应该使用unmock来防止将mock提升到ES6导入之上:I'musingbabelandmy

javascript - Jasmine toBeCloseTo 第二个参数是什么?

Jasmine的文档非常简短;通常就足够了。不总是。我想知道toBeCloseTo的第二个参数到底是什么。官方引用仅显示:it("The'toBeCloseTo'matcherisforprecisionmathcomparison",function(){varpi=3.1415926,e=2.78;expect(pi).not.toBeCloseTo(e,2);expect(pi).toBeCloseTo(e,0);});好的,这是精确度,但在这种情况下,“精确度”的实际含义是什么?是“.”后面的位数吗?那应该是一样的吧?我的情况:我想以毫秒为单位比较两个时间戳;如果它们之间的差异

javascript - angularJS:单元测试给出:未知提供者:$httpProviderProvider <- $httpProvider

在我尝试做的一个单元测试中beforeEach(function(){angular.mock.inject(function($injector){$httpBackend=$injector.get('$httpBackend');mockUserResource=$injector.get('User');$httpProvider=$injector.get('$httpProvider');//(demo)为什么不能注入(inject)$httpProvider?我这样做的原因是因为我没有加载添加我所有拦截器的文件,因为我想一个一个地测试它们! 最

javascript - should.js 不会导致 mocha 测试失败

我对单元测试、mocha和should.js非常陌生,我正在尝试为返回promise的异步方法编写测试。这是我的测试代码:varshould=require("should"),tideRetriever=require("../tide-retriever"),moment=require("moment"),timeFormat="YYYY-MM-DD-HH:mm:ss",from=moment("2013-03-06T00:00:00",timeFormat),to=moment("2013-03-12T23:59:00",timeFormat),expectedCount=30

javascript - 如何在输入字段上对事件监听器进行单元测试?

在最简单的测试中,我尝试测试以下函数:addPercentSign:function(oEvent,control){varinputVal=oEvent.getParameters().value;varinputNumber=parseFloat(inputVal);if(inputNumber){if(inputNumber100){//seelearningCurveFormatCheckreturnnull;}else{varfinalVal=inputNumber.toFixed(1);varfinalOutput=finalVal+"%";control.learning

javascript - 如何在 Jest 中测试类构造函数

假设我有一个类如下:classSomeClass{constructor(a,b){this.a=a;this.b=b;}}我如何通过Jest测试构造函数是否以正确的方式初始化?说...this.a=a和this.b=b而不是相反?我知道我可以执行toBeCalledWith但这不会让我检查构造函数的逻辑。我也在考虑制作mockImplementation但在这种情况下它似乎毫无意义,因为我将重写逻辑,或者我可能没有意识到创建模拟的所有细微差别 最佳答案 只需创建一个对象的实例并直接检查它。由于它将它们设置在this上,因此它们本质

javascript - 使用 Jest 和 React 模拟非默认函数

在测试文件中,我需要渲染一个组件,同时模拟它的一些子组件。文件结构大致如下所示。文件1import{A,B}from'a-module';exportfunctionMyComponent(){return(//Ineedtomock//thesecomponentsout);}文件2import{MyComponent}from'File1';/**InthisfileIwouldliketorenderMyComponentbut*havecomponentsAandBbereplacedbymocks*/我试过jest.mock('a-module',()=>'Blah');但这

javascript - 在对显示模块进行单元测试时如何 stub 私有(private)函数

我一直在构建一个Node模块,它包装了对GitHubAPI的大量调用,并且以我无限的智慧使用揭示模块模式构建了这个模块,使我的包装函数保持私有(private)并且只公开简单的方法。请参见下面的示例:github.shortcuts=(function(){varappPath;varcreateRepo=function(name){vardeferred=Q.defer();github.repos.create({name:name,auto_init:true},function(error,result){if(error){deferred.reject(newError(

javascript - mocha done() 和 async await 的矛盾问题

我有以下测试用例:it("shouldpassthetest",asyncfunction(done){awaitasyncFunction();true.should.eq(true);done();});运行它断言:Error:Resolutionmethodisoverspecified.SpecifyacallbackorreturnaPromise;notboth.如果我删除done();语句,它断言:Error:Timeoutof2000msexceeded.Forasynctestsandhooks,ensure"done()"iscalled;ifreturningaP