哇,好乱啊。这是场景。主干驱动的JS应用。用于AMD功能的RequireJS,初始化如下:然后在main.js中添加以下配置代码:require.config({paths:{...:...}});每个BackboneView/Model/Router都是一个“define(...)”模块,在main.js中调用一次“require("theOneRouter",...)”。r.js用作Uglify/Closure的优化器。在我的.net框架中动态选择的./release子文件夹中创建了一个“已编译”的main.js。花了很长时间才让Backbone+Require.JS工作,但现在工
我在Jasmine上阅读的资料中,他们只测试了一个.js文件。但是,如果测试是在网页上进行的,比如说,使用代码:try.html:$("#the-input").focus(function(){$(this).css("background","#ff9");});$("#the-input").blur(function(){$(this).css("background","#cff");});就是说,如果用户点击(或tab)输入框,将输入框的背景设置为黄色,当焦点移出时,将其设置为浅蓝色。在这种情况下,我们如何在.html文件中测试上述行为?(这个html文件应该在哪里——它可
我有一个带有TypeScript应用程序设置的Angular2,带有非常基本的Jasmine测试。我想测试我的一根pipe。lpad.pipe.tsimport{Pipe,PipeTransform}from'@angular/core';@Pipe({name:'lpad'})exportclassLPadPipeimplementsPipeTransform{transform(value:any,args:string[]):any{letpad=args[0];return(pad+value).slice(-pad.length);}}在html模板中的用法:{{size.S
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我初看jasmine框架,它看起来很有前途,但我找不到使用dom的简单方法。我的意思是,模拟用户交互,比如完成和输入,点击一个按钮,然后检查dom是否正确更新,比如在输入验证后显示错误,并显示修改后的数据。就是您通常使用selenium等工具执行的操作。有没有标准的方法来做,或者ui测试超出了jasmine的领域,我应该为这样的任务寻找另一个框架?
我在官方网站上有以下Angular文档。但是在文档中测试部分已经过时并且不能使用当前的Angular2beta版本。我需要编写一个基本测试来检查if条件是否正常工作。我怎样才能在Angular2中使用jasmine来做到这一点。 最佳答案 设置jasmine以使用angular2(beta.7)运行typescript单元测试:设置Angular项目(参见说明5分钟快速入门https://angular.io/guide/quickstart)根目录是我的项目使用mpm安装jasminenpminstalljasmine-core-
考虑到MStest中现有的相当广泛的测试库,我想为testignjavascript添加jasime并将这些新测试包含在MSTesting框架中,以便对当前的TDD模式造成最小的干扰......如果有人知道Jasmine的现有mstest运行程序,我将不胜感激。现在不用自己build一个就可以节省时间。也可以考虑其他MSTest集成想法,以防万一我追求错误的解决方案......我们当前的持续集成/源代码控制解决方案是TFS2010。使用VS2010和resharper插件进行开发。 最佳答案 Chutzpah从命令行在headles
我有一个使用Jammit组合javascriptAssets的Rails应用程序,我想使用Jasmine用于我的javascript的BDD样式测试。我想知道是否有人对从Jasmine中访问Jammit生成的“包”有任何建议?问题是Jasmine是通过在磁盘上定义要测试的JS文件列表来配置的,然后它将这些文件包含在它自己的测试运行器页面中,该页面在浏览器中加载并运行。在使用Jammit打包之前,我可以在jasmine.yml配置文件中引用每个单独的JS文件...但是,Jammit已经为我处理了文件之间的依赖关系,更重要的是,我还需要访问已编译的javascripttemplatesJa
我想监视构造函数并使用jasmine告诉它被调用了多少次。我通常会做这样的事情来定位对象的方法:spyOn(lib,'methodName')但在这种情况下,我试图监视实际的构造函数,所以我尝试过:spyOn(lib);it('libshouldbeinstantiatedforeachmatchingelement',function(){spyOn(lib);expect(lib.calls.count()).toEqual(2);});不幸的是,这只会在控制台中给我一个错误:"Error:undefined()methoddoesnotexistin..."我如何监视构造函数?
我想在一次执行中多次运行我的jasmine测试用例。是否有任何循环或任何其他方法在一次执行中执行特定规范。 最佳答案 您可以像这样在普通的for循环中运行规范:for(vari=0;i=0&&r如果你想用不同的参数运行它,那就有点棘手了。您必须将循环参数绑定(bind)到闭包范围,否则将始终使用循环参数的最后一个值调用测试。//WRONG:testcalled10timeswithi==10for(vari=0;i 关于javascript-在一次执行中多次运行JasmineSpec,我
我正在尝试找出一种方法,以相同的方式,或者更确切地说,以类似的方式使用cucumberJS与protractor的标记选项,但是使用Jasmine,有没有办法标记不同的场景,例如:@smoke、@regression等。然后告诉控制台与那些一起运行?我拒绝使用Cucumber,因为它的支持似乎变得不稳定了!任何帮助将不胜感激! 最佳答案 使用jasmine2,您可以使用正则表达式过滤测试。也许你可以在你的测试中添加@smoke、@regressions之类的东西,然后只通过传递grep标志来运行那些:it('shoulddostuf