单元测试 – Karma不执行任何单元测试
发布时间:2020-12-17 08:04:03 所属栏目:安全 来源:网络整理
导读:我似乎在让我的Jasmine单元测试实际执行时遇到问题。我已经通过将logLevel设置为LOG_DEBUG来验证我的所有脚本都已加载。我的单元测试与服务测试@ https://github.com/angular/angular-seed/blob/master/test/unit/servicesSpec.js相同。 此外,我使用了Testa
我似乎在让我的Jasmine单元测试实际执行时遇到问题。我已经通过将logLevel设置为LOG_DEBUG来验证我的所有脚本都已加载。我的单元测试与服务测试@
https://github.com/angular/angular-seed/blob/master/test/unit/servicesSpec.js相同。
此外,我使用了Testacular(在它重命名为Karma之前),我不记得有这个问题。我似乎让Chrome运行,但我必须手动点击“调试”按钮。即使我按下此按钮,我的测试也不会运行。 系统细节: > Windows 7 这是我的模块代码(Scripts / main.js): angular.module('sb.services',[]).value('version','0.0.1').value('amplify',amplify); angular.module('sb.directives',[]); angular.module('sb.filters',[]); angular.module('sb.controllers',[]).controller('SbController',[ '$scope','amplify',function ($scope,amplify) { $scope.message = 'Hello World! (amplify exists?=' + !!amplify + ')'; } ]); angular.module('sb',[ 'sb.services','sb.directives','sb.filters','sb.controllers' ]); 这是我的规范(Test / unit / servicesSpec.js): 'use strict'; describe('my services',function () { beforeEach(module('sb.services')); describe('version',function () { it('should return current version',inject(function(version) { expect(version).toEqual('0.0.1'); })); }); }); 这是我的karma.conf.js文件: // Karma configuration // Generated on Mon Apr 15 2013 20:56:23 GMT-0400 (Eastern Daylight Time) // base path,that will be used to resolve files and exclude basePath = ''; // list of files / patterns to load in the browser files = [ JASMINE,JASMINE_ADAPTER,'Vendor/angular-1.0.6/angular.js','Vendor/angular-1.0.6/angular-*.js','Vendor/json2/json2.js','Vendor/jquery/jquery-1.8.2.js','Vendor/amplify/amplify.js','Scripts/main.js','Test/unit/*.js' ]; // list of files to exclude exclude = [ ]; // test results reporter to use // possible values: 'dots','progress','junit' reporters = ['progress']; // web server port port = 9876; // cli runner port runnerPort = 9100; // enable / disable colors in the output (reporters and logs) colors = true; // level of logging // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG logLevel = LOG_WARN; // enable / disable watching file and executing tests whenever any file changes autoWatch = false; // Start these browsers,currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari (only Mac) // - PhantomJS // - IE (only Windows) browsers = ['Chrome']; junitReporter = { outputFile: 'Test/out/unit.xml',suite: 'unit' }; // If browser does not capture in given timeout [ms],kill it captureTimeout = 60000; // Continuous Integration mode // if true,it capture browsers,run tests and exit singleRun = false;
我的最后一个答案是错误的(将angular.js行下面的JASMINE和JASMINE_ADAPTER行移动)。它解决了这个特殊问题,但却产生了其他问题。相反,我所做的就是只指定angular-mocks文件而不是angular- *,如下所示:
JASMINE,'Vendor/angular-1.0.6/angular-mocks.js','Test/unit/*.js' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |