草庐IT

javascript - Jasmine 中的错误预期

我有以下有效的功能functionsum(){vartotal=0,num=0,numArgs=arguments.length;if(numArgs===0){thrownewError("ArgumentsExpected");}for(varc=0;cJasmine规范文件如下:describe("Firsttest;examplespecification",function(){it("shouldbeabletoadd1+2",function(){varadd=sum(1,2);expect(add).toEqual(3);});it("SecondTest;should

javascript - 如何使用 Protractor/Selenium 设置可用于我的测试套件的常用函数?

我正在研究AngularJSProtractor测试套件。我有一个如下所示的conf文件:exports.config={seleniumAddress:'http://localhost:4444/wd/hub',baseUrl:'http://127.0.0.1:17315/',capabilities:{browserName:'chrome','chromeOptions':{args:['--test-type']}},suites:{login:['LoginPage/login.js'],homePage:['Homepage/homepage.js','Homepage

javascript - 使用 Jasmine 监视 Backbone.js 路由调用

在Backbone路由器上监听方法调用时遇到问题,以确保它在给定路由上调用正确的方法。测试摘录describe'Router',->beforeEach->@router=newApp.Router()Backbone.history.start()afterEach->Backbone.history.stop()describe'routes',->it'shouldbedefined',->expect(@router.routes).toBeDefined()describe'defaultroute',->it'shouldbedefined',->expect(@route

javascript - 你如何使用 Jasmine BDD 卡住/伪造时间

我的代码中有这样一行newDate().getFullYear();我需要它总是在同一年返回。有什么办法可以用Jasmine做到这一点吗?谢谢。 最佳答案 在JavaScript中,您可以简单地覆盖测试设置中的函数:Date.prototype.getFullYear=function(){return2012}你也可以使用jasminespy:spyOn(Date,'getFullYear').andReturn(2012)另一种方法是将日期插入到您要测试的函数中。顺便说一句。编写可测试代码的最佳方式。不要在你的函数中创建新的实例

javascript - Jasmine 监视嵌套对象

我的服务对象是这样的:varappService={serviceOne:{get:function(){}},serviceTwo:{query:function(){}}}我想模拟appService,像这样:expect(appService.serviceTwo.query).toHaveBeenCalled();我该怎么做? 最佳答案 好的,我得到了这个工作:appService:{serviceOne:jasmine.createSpyObj('serviceOne',['get']),serviceTwo:jasmin

javascript - 如何使用 jasmine.js 测试控制台输出?

我正在阅读文本:面向Web开发人员的专业JavaScript,作者:NicholasZakas我正在使用Jasmine.js测试示例。我目前可以通过指定返回值来测试函数的输出,但是当我想要返回多条数据时,我遇到了麻烦。课本上用的是alert()方法,但是比较麻烦,不知道怎么测试alert。我想知道是否有一种方法可以测试console.log()输出。例如:function_to_test=function(){varperson=newObject();person.name="Nicholas";person.age=29;return(person.name);//Nicholas

javascript - 没有将 "exportAs"设置为 "ngForm"的指令

当我尝试测试LoginComponent时出现以下错误PhantomJS2.1.1(Linux0.0.0):Executed3of55(1FAILED)(0secs/0.307secs)PhantomJS2.1.1(Linux0.0.0)LoginComponentshouldcreateFAILEDFailed:Uncaught(inpromise):Error:Templateparseerrors:Thereisnodirectivewith"exportAs"setto"ngForm"("ivclass="col-md-4col-sm-6col-md-offset-4col-s

javascript - BlanketJS + Jasmine 2.0 不工作

我一直在使用Jasmine2.0.0进行测试,它没有任何问题。但是当我将BlanketJS附加到我的代码时出现了问题。我使用了与Jasmine1.3.1配合使用的specRunner(https://github.com/alex-seville/blanket/blob/master/test/jasmine-requirejs/runner.html)。但是当我用Jasmine2.0.0替换Jasmine1.3.1时它不起作用,这是来自BlanketJS存储库的原始代码:JasmineSpecRunnerif(window.require&&typeof(window.requir

javascript - 如何使用 Karma 测试 AngularJS Controller 中的 $element?

我遇到了一个问题,我的应用程序中有一个Controller,我使用它就像并且此Controller中有一个$element提供程序,我需要修改该元素。describe('LogbookEditCtrl',function(){'usestrict';beforeEach(module('logbooks.edit'));it('shouldcreate"logbook"model',inject(function($controller){varscope={},//THISEXPLODESBECAUSEITSAYSTHE$elementPROVIDERWASNOTFOUND,beca

javascript - multiCapabilities 和 jasmine 重点测试

故事:我们有一个相当庞大的端到端Protractor测试代码库。我们有两个配置-一个是“本地”-使用directConnect在Chrome和Firefox中运行测试,另一个是“远程”-在远程selenium服务器上运行测试-我们中的BrowserStack案例。我们的“本地”配置配置为在Chrome中运行一些测试,在Firefox中运行一些测试-因为我们确实无法在Chrome中运行一些测试-例如,keyboardshortcutsdon'tworkinChrome+Mac.在解决链接的chromedriver问题之前,运行需要在Firefox中使用键盘快捷键的测试是一种解决方法。这里