草庐IT

Karma-Jasmine

全部标签

javascript - 测试传递给 Angular Material Dialog 实例的 Controller

首先,我正在尝试对传递给AngularMaterialDialog的Controller进行单元测试。实例。作为一个一般性问题,单独测试这样的Controller更有意义,还是实际调用$mdDialog.show()更有意义?我正在尝试第一种方法,但遇到了一些问题,主要与AngularMaterial如何将“局部变量”绑定(bind)到Controller有关。这是我用来在我的源代码中调用对话框的代码,它按预期工作:$mdDialog.show({controller:'DeviceDetailController',controllerAs:'vm',locals:{deviceId

javascript - 使用 Jasmine 测试以 uibModal 和 lodash 作为依赖项的服务

这是我第一次使用Jasmine,我已经测试了我的第一个工厂没有问题。但是现在,我想测试这个服务:angular.module('Questions',[]).service('QuestionsService',function($uibModal,$log,_){...}$uibModal来自UIBootstrap(参见here),_是Lodash。到目前为止,我的Jasmine测试是:describe('Service:QuestionsService',function(){varQuestionsService;beforeEach(inject(function(_Quest

javascript - 如何配置 Karma 以使用 requirejs 和 qunit

我正在尝试将karma和requirejs拼凑在一起。但发现一个大问题找不到任何答案。我有一个使用requirejs的项目,我使用qunit作为它的测试框架。他们在karma进来之前工作得很好。关注Karmarequirejsinstruction后,我得到一个错误,找不到合适的解决方案。karma版本为0.12.6错误是:UncaughtError:Mismatchedanonymousdefine()module....如何让它们协同工作?这是我的文件结构projectroot||----\src||||----\demo||||||----hello.js||||----\tes

javascript - Jasmine Node 的目的是什么?

我可以使用jasmine-node或仅使用jasmine来运行我的规范。他们都运行我的规范。那么,jasmine-node增加了什么值(value)呢?自述文件说:Thisnode.jsmodulemakesthewonderfulPivotalLab'sjasminespecframeworkavailableinnode.js.https://github.com/mhevery/jasmine-node/blob/master/README.md我不明白。我的应用程序在node上运行,我的规范requireNode模块..所以当我运行jasmine时,我已经在使用两个node和J

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 - Karma Require.js——改变目录结构正在杀死一切

几天来,我一直在尝试设置karma以与Require.js一起工作(然后再将require与angular一起使用),这令人非常沮丧。这是我的文件树在这个例子中的样子:$tree.|--public||--index.html||--src||--app.js|`--main.js|--config||--karma.conf.js|--lib||--jquery.js||--require.js|`--underscore.js|--src||--app.js|`--main.js`--test|--appSpec.js`--test-main.js注意事项:我正在处理的这个存储库是

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 - 如何编写http请求的单元测试?

我正在尝试对我的案例进行单元测试在我的测试Controller中myService.getItem('/api/toy/'+scope.id).success(function(toy){$scope.toy=toys.details;});我的服务angular.module('toyApp').service('myService',['$http',function($http){varservice={};return{getItem:function(url){return$http.get(url);},};}]);测试文件。describe('toyctrl',funct

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

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