2014-05-21 11 views

回答

0

要使用角噶茉莉花運行測試:

  1. 您需要安裝nodejs,噶結點的頂部

  2. 您需要從Node Packaged Modules從命令窗口安裝因緣運行執行:

    npm install -g karma

  3. 如果您打算使用Chrome和Firefox運行此操作,並且您在Windows上運行此操作,則需要添加2 environment variables

 
    CHROME_BIN = [Crome installation path/chrome.exe] 
    FIREFOX_BIN =[Firefox installation path/firefox.exe] 

      4.返回使用命令窗口一旦有項目文件夾,你可以執行:

karma init

只需點擊進入,直到它完成;底線這將創建一個文件名爲:

karma.config.js

在我的項目文件看起來是這樣的,你可能會包括在不同的設置一些有用的意見:包括你確保:

 
    module.exports = function(config) { 
     config.set({  
     basePath: '',  
     frameworks: ['jasmine'],  
     files: [ 
      '../app/*.js', 
      '../app/lib/angular.js', 
      '../app/lib/angular-route.min.js', 
      '../app/lib/angular-mocks.js',   
      '../app/app.js', 
      'controllers/*.js', 
      'services/*.js', 
     ],  
     exclude: [ 
     ],  
     reporters: ['progress'],  
     port: 9876,  
     colors: true,  
     logLevel: config.LOG_INFO,  
     autoWatch: true,  
     browsers: ['Chrome','Firefox'], 
     captureTimeout: 60000, 
     singleRun: false 
     }); 
    }; 

重要角度嘲笑在你的配置中,inject功能在該模塊上。

      5.返回到你的命令行窗口,瀏覽您的karma.config.js文件,並和執行:

karma start

在這一點上,你會好去開始寫茉莉測試。

爲控制器的簡單茉莉測試將是:

describe('MainCtrl', function() { 
    var $scope, $rootScope, createController; 

    beforeEach(inject(function($injector) { 
     $rootScope = $injector.get('$rootScope'); 
     $scope = $rootScope.$new(); 


    var $controller = $injector.get('$controller'); 

     createController = function() { 
      return $controller('MainCtrl', { 
       '$scope': $scope 
      }); 
     }; 
    })); 

    it('should have a...', function() { 
     var controller = createController(); 
// do your testing here... 

    }); 
});