当前位置: 首页 > 知识库问答 >
问题:

karma test runner未运行任何测试

田嘉慕
2023-03-14

我正在使用jasmine的karma,并按照在线指南安装了

npm install --save-dev karma

和其他必需品

我跑了

./node_modules/karma/bin/karma start

karma start karma.conf.js

它打开了一个外部铬浏览器,显示因果报应是相关的。我为一个函数写了一个简单的单元测试,它似乎没有运行任何测试

这是我的karma配置文件

    // Karma configuration
module.exports = function(config) {
 config.set({
// base path, that will be used to resolve files and exclude
basePath: '',

// testing framework to use (jasmine/mocha/qunit/...)
frameworks: ['jasmine'],

// list of files / patterns to load in the browser
files: [
  'app/assets/components/angular/angular.js',
  'app/assets/components/angular-mocks/angular-mocks.js',
  'app/assets/javascripts/**/**/*.js',
  'spec/javascripts/**/*.js'
],

// list of files / patterns to exclude
exclude: [],

// web server port
port: 8080,

// level of logging
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel: config.LOG_INFO,

// 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'],


// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false
});
 };

我的单元测试

describe('Unit: AddMedicalService',function(){


beforeEach(module('DoctiblePreTreatment'));
var ctrl, scope;

beforeEach(inject(function($controller,$rootScope){
scope = $rootScope.$new();

ctrl = $controller('AddMedicalServiceModalCtrl',{
  $scope: scope
  });
}));


it('should create return true if var 1 is greater than var2 , false if other wise',
function(){
  var compare1 = function(){
    var var1 = 1;
    var var2 = 0;
    return var1 > var2;
  }

  var compare2 = function(){
    var var1 = 0;
    var var2 = 1;
    return var1 > var2;
  }

  expect(compare1).toBeTruthy();
  expect(compare2).toBeFalsy();

   });

  });

我要测试的控制器中的特定功能

(function() {
app.controller('AddMedicalServiceModalCtrl',['ProviderMedicalService','Treatment','$scope','$modalInstance',function(ProviderMedicalService,Treatment,$scope,$modalInstance){
    $scope.newTreatment = {}


    $scope.checkless = function(var1,var2){
        var1 = parseInt(var1);
        var2 = parseInt(var2);

        if(var1 > var2){
            return true;
        }
        else{
            return false;
        }
    }
    }]);
   })();

当我运行因果报应时,控制台上显示的是什么

  INFO [karma]: Karma v0.12.21 server started at http://localhost:8080/
  INFO [launcher]: Starting browser Chrome
  INFO [Chrome 36.0.1985 (Mac OS X 10.9.4)]: Connected on socket MkqZfXcO6iIX4Od23QEr with id 9498055

附加信息:我正在使用AngularJS和RubyonRails。我知道有茉莉宝石可以帮助我。但我的老板坚持认为我们应该尝试使用karma对anuglarjs部分进行单元测试/E2E,对rails进行rspec。

共有3个答案

彭宏阔
2023-03-14

以下配置适合我-

 reporters: ['progress', 'kjhtml'],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO, // config.LOG_DEBUG,
        autoWatch: true,
        browsers: ['ChromeNS'],
        singleRun: false,
        customLaunchers: {
            ChromeHeadlessNS: {
                base: 'ChromeHeadless',
                flags: ['--no-sandbox', '--disable-gpu']
            },
            ChromeNS: {
                base: 'Chrome',
                flags: ['--no-sandbox', '--disable-gpu']
            }
        }
仲法
2023-03-14

原因很简单,但有时会被忽略:确保没有语法或编译错误。

如果通过IDE运行JavaScript的Karma测试,则可能会出现语法错误,而在运行测试时不会出现该错误。这导致业力发出“未发现测试”的信息。

我在网络Storm下运行它;错误出现在“Karma Server”选项卡下,而“Test Run”下出现“No tests was found”消息(两个选项卡都在“Run”或“Debug”工具窗口下)。

王辉
2023-03-14

业力下。配置。js,将singleRunautoWatch设置为true。在你的情况下,它们都被设置为false,因此业力没有运行测试。

singleRun:如果为true,它将捕获浏览器、运行测试并退出,退出代码为0(如果所有测试都通过),或1(如果任何测试失败)。

singleRun: true

自动监视:启用或禁用监视文件,并在其中一个文件发生更改时执行测试。万一你想看你的文件。

autoWatch: true
 类似资料:
  • 问题内容: 我有4个测试类,每个平均有两个测试函数。第一次测试在下面,并且必须正确(来自Play教程)。 其他的是定制的,并具有如下设置: 现在,当我运行它时,它可以更快地完成,并且不执行任何测试。 为什么是这样? 我能做什么? 我最近从播放2.1.2更新为2.1.3。我更新了所有参考,除测试外,该项目运行正常。我也研究了这个问题,但这不是因为我没有更改测试,所以它们写得很好,只是它们的执行不起作

  • 问题内容: 当我使用以下命令在Maven中运行单个测试时: 我得到以下结果: 它在几分钟前工作了,但是现在由于某种原因停止了工作。在运行测试之前,我尝试运行几次,但没有帮助。 测试看起来像这样: }} 更新: 这是由于将此依赖项添加到POM: 当我删除它时,一切正常。即使我添加以下两个依赖关系而不是上一个依赖关系,一切也都可以正常工作: 真奇怪 问题答案: 您可能正在类路径上的某个地方拾取了JUn

  • 我无法用PHPUnit解决测试问题。这是我的密码,有点问题。这是年度百分比计算(https://en.wikipedia.org/wiki/Annual_percentage_rate ). 在cmd中: 不要考虑Oracle模块,这是另一回事。我在“composer安装”之后运行了“phpunit”。 项目/测试/测试概述。php: 项目/phpunit.xml 我解决不了,试了很多次:(

  • 这是我的文件: 我已经尝试根据Github中的这个线程添加 自从我看到关于的消息后,我将此添加到我的中(通过各种google搜索): 如果有人对我如何调试这种情况有一些想法的话。

  • 我无法使用maven运行spring boot应用程序的测试。我看过很多关于这个的帖子,他们的大多数解决方案是: 将junit版本与maven surefire插件或 确保junit版本不是由预定义的 我的项目不使用父级,也不使用专家-sure-fire插件。否则,根据pom文件,我没有看到任何明显的冲突。我确实看到了 ,但这是向后兼容性的纯复古依赖性的一部分。 是什么导致了这种情况? 砰的一声

  • 问题内容: 我在Eclipse中创建了一个新的maven项目,该项目通过使用HtmlUnitDriver和FirefoxDriver来调出一个网页并检查页面标题来运行简单测试。当我运行maven命令mvn test时,这就是我得到的一切: 当我在Eclipse中运行相同的Maven命令时,它显示以下内容: 这是我的pom.xml,供那些想要检查是否可能是问题的人使用: 问题答案: 您是说要添加为P