在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
我的代码中有这样一行newDate().getFullYear();我需要它总是在同一年返回。有什么办法可以用Jasmine做到这一点吗?谢谢。 最佳答案 在JavaScript中,您可以简单地覆盖测试设置中的函数:Date.prototype.getFullYear=function(){return2012}你也可以使用jasminespy:spyOn(Date,'getFullYear').andReturn(2012)另一种方法是将日期插入到您要测试的函数中。顺便说一句。编写可测试代码的最佳方式。不要在你的函数中创建新的实例
我使用Gulp作为我的任务运行器并使用browserify来捆绑我的CommonJs模块。我注意到运行我的browserify任务非常慢,大约需要2到3秒,而我只有React和一些我为开发构建的非常小的组件。有没有办法加快任务速度,或者我在任务中有什么明显的问题?gulp.task('browserify',function(){varbundler=browserify({entries:['./main.js'],//Onlyneedinitialfiletransform:[reactify],//ConvertJSXtojavascriptdebug:true,cache:{}
我的服务对象是这样的:varappService={serviceOne:{get:function(){}},serviceTwo:{query:function(){}}}我想模拟appService,像这样:expect(appService.serviceTwo.query).toHaveBeenCalled();我该怎么做? 最佳答案 好的,我得到了这个工作:appService:{serviceOne:jasmine.createSpyObj('serviceOne',['get']),serviceTwo:jasmin
我正在阅读文本:面向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
我一直在使用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
我正在尝试使用gulp-mochamodule但无法找到传递编译器标志的好方法。有没有办法将其包含在我的gulp任务中?也许以某种方式在一个单独的管道中?从命令行运行mocha的示例(工作正常)mocha--compilers.:my_compiler.jstest/**/*.js使用gulp-mocha的示例(但我可以在哪里指定编译器)?gulp.task('test',function(){gulp.src(["test/**/*.js"],{read:false}).pipe(mocha({reporter:'spec'})).pipe(exit());});我在gulp-moc
故事:我们有一个相当庞大的端到端Protractor测试代码库。我们有两个配置-一个是“本地”-使用directConnect在Chrome和Firefox中运行测试,另一个是“远程”-在远程selenium服务器上运行测试-我们中的BrowserStack案例。我们的“本地”配置配置为在Chrome中运行一些测试,在Firefox中运行一些测试-因为我们确实无法在Chrome中运行一些测试-例如,keyboardshortcutsdon'tworkinChrome+Mac.在解决链接的chromedriver问题之前,运行需要在Firefox中使用键盘快捷键的测试是一种解决方法。这里
我正在尝试测试某个内部库,该库在ajax:success事件上触发了一些JS行为。库创建一个如下所示的链接:在库的JS部分有事件绑定(bind)代码,这是我想通过它对DOM的影响进行黑盒测试的部分:$(document).on'ajax:success','.special-link',(e,data,status,xhr)->#CodethathassomeeffectontheDOMasafunctionoftheserverresponse该库在浏览器中按预期工作。但是,当我尝试通过调用$('.special-link').click()测试Jasmine中的库时,无法观察到对D
我正在尝试使用jasmine的beforeAll和afterAll方法,用frisby.js创建一套测试,因为实际上,frisby不支持这种方法。所以,这就是我想要做的:varfrisby=require('frisby');describe("setUpandtearDown",function(){beforeAll(function(){console.log("testbeforeAll");});afterAll(function(){console.log("afterAll");});//FRISBYTESTS});//endofdescribefunction如果我将b