草庐IT

testing-backbone-apps-with-jasmin

全部标签

javascript - 简单但功能齐全的 Backbone 示例应用程序?

我正在开始使用Backbone,我正在寻找一个没有困惑但具有所有关键Backbone功能的示例应用程序:路由、模型、集合、View和事件。理想情况下,应用程序的工作流程应该是这样的:应用加载文章标题列表。用户点击文章标题。View略有变化以更新URL并突出显示该博文。最小和简单,但只是展示了如何使用所有关键元素,包括路由(在示例中似乎经常被省略,包括theofficialexample)。基本上我想要类似samplecodeinthisblogpost的东西,但(a)防弹和(b)也带有HTML,这样我就可以复制、粘贴并立即开始使用它。有人知道这样的例子吗?

javascript - Jasmine - 如何模拟 history.pushState 和假事件发射?

在history.pushState的帮助下,我正在编写一个支持浏览器导航的库并且还捕获了popstateevent在浏览器中进行导航时进行通信。因为我正在尝试写Jasmine测试这个库,我想知道如何模拟history.pushState并且还伪造了popstate的发射来自window的信号?以下代码片段应该可以说明问题:库代码:varlib=(function(){functionnavigate(path){history.pushState(null,null,path);}functiononPopState(event){if(lib.callback){lib.callb

javascript - Jasmine 与 coffeescript 共享规范范围问题

我试图通过提取共享示例来DRY一些jasmine测试。@sharedExamplesForThing=(thing)->beforeEach->@thingy=newthingit"isneat",->expect(@thingy.neat).toBeTruthy()describe"widgetwithsharedbehavior",->sharedExamplesForThing(->newWidget)当一切都在一个文件中定义时,这会很好地工作。当我尝试将sharedExamples移动到单独的文件时,会出现我遇到的问题。我得到Can'tfindvariable:sharedEx

javascript - Backbone 关联与 Backbone 关系

我一直在寻找有关我们如何在Backbone中建立关系的信息,并遇到了以下两个不错的插件:Backbone-relationalBackbone-associations两者似乎都存在了两年多,而且似乎很稳定。但是,Backbone-relational在以下方面优于Backbone-associations:提供数据库中几乎所有的关系,例如一对一、一对多、多对一乍一看不错的文档(类似于Backbone.js)因为我没有时间广泛地研究这两个插件,所以我想从有经验的人那里了解以下事情:是否都支持AMD(如Requirejs)?将插件与后端服务器(如RubyonRails)结合使用是否容易?

javascript - AngularJS - 在 Jasmine 测试用例中模拟 ngTableParams

我已经使用ng-table创建了一个应用程序,该应用程序工作正常,但是当我编写一个jasmine测试用例时,我得到了。Error:[$injector:unpr]Unknownprovider:TableParamsProvider谁能告诉我如何模拟ngTableParams并测试其功能我的代码如下Jasmine测试用例describe('TestingControllers',function(){describe('TestingWorkControllerController',function(){varWorkController,$scope;beforeEach(modu

javascript - 深入理解 : How code structure affects the content of date arrays created with loops

背景说明我问了一个关于使用循环定义日期数组的问题。数组是根据名为“dateinterval”的已声明变量定义的。我设计代码的方式导致了与另一个循环相关的错误消息,另一个用户为我提供了另一个循环来解决这个问题。既然我已经仔细比较了两种不同的解决方案,我就是不明白为什么它们不会产生相同的结果。我的代码我开发了以下代码来定义UTC格式的日期数组。然而,结果是自1970年1月1日00:00:00以来以毫秒为单位的日期数组。换句话说,一个数字。for(vari=0;i正确的解决方案下面的代码是另一位用户提供给我的正确代码(再次感谢您!)此代码定义了一组UTC日期。for(vari=0;i我不明白

javascript - Bluebird promise 链 : 'Catch' with Result

为了让这个问题对尽可能多的人有用,除了我在下面使用Node+Express的Bluebirdpromise库这一事实之外,我将排除我的具体实现细节。所以,假设我有以下链(其中P返回一个promise,res是ExpressHTTP响应对象):P().then(function(){//donothingifallwentwell(fornow)//weonlycareifthereisanerror}).catch(function(error){res.status(500).send("Anerroroccurred");}).then(function(){returnP();}

javascript - 在 Backbone.js 中下载 Excel

//DownloadSKUlogicdownloadSku:function(e){e.preventDefault();varcheckedValues=this.$el.find('.chk:checked').map(function(){returnthis.value;}).get();varoptions={success:function(model,response){console.log(response);varblob=newBlob([response],{type:'application/vnd.ms-excel'});vardownloadUrl=URL

javascript - Angular 2 的 Jasmine 测试用例 - 导航到其他页面

我正在使用jasmine为Angular2代码编写测试用例。一旦用户注销,我试图导航回登录页面。如何测试页面位置? 最佳答案 您真正需要做的就是测试是否使用正确的参数(即登录页面的路由)调用路由器导航方法。尝试测试实际导航可能会产生比单元测试所需更多的副作用。要检查是否调用了Router.navigate方法,只需使用stub并监视它即可。@Component({})classSomeComponent{constructor(privaterouter:Router){}logout(){this.router.navigate(

javascript - ngRepeat with ngAnimate 在我的元素上设置 "data-ng-animate= 2"

我不知道为什么ngRepeat在我的元素上添加了data-ng-animate=2属性。为什么会这样?我这样写:我明白了:谢谢! 最佳答案 正如您在thesourcecodehere中看到的那样data-ng-animate属性用于跟踪动画的状态:varPRE_DIGEST_STATE=1;varRUNNING_STATE=2;所以基本上它只是在元素本身上存储它自己的动画状态。在您的情况下(2)它正在运行。如果您跟随NG_ANIMATE_ATTR_NAME浏览该文件,您可以跟随它添加、更新和最终从元素中删除。