2017-04-26 62 views
1

我正在學習在我的角應用中爲控制器編寫測試。爲控制器創建測試文件 - karma + jasmine

我有一個測試文件,該文件是這樣

describe('Controller', function() { 
beforeEach(module('AngularApp')); 

var scope, controller; 

    beforeEach(inject(function($rootScope, $controller) { 
     scope = $rootScope.$new(); 
     controller = $controller('someController', {$scope: scope}); 
    })); 

    describe('someController',function(){ 

     it('Testing Scope.show is defined',function() { 
      expect(scope.show).toBeDefined(); 
    }); 
}); 

}); 

在這裏,我測試的範圍show是否宣佈。

現在我想測試範圍是否等於某個值。

如果我寫現有it下的新it我收到此錯誤

A unique name is required for a Tool Definition thrown

describe('someController',function(){ 

    it('Testing Scope.show is defined',function() { 
     expect(scope.show).toBeDefined(); 
    }); 
    it('Testing Scope.show is true',function() { 
     expect(scope.show).toEqual("xyz"); 
    }); 

}); 

如果我想測試下一個範圍值,比如說'list'。

如何在同一個文件中編寫測試。

當我添加另一個描述和寫入測試時,我得到了與上述相同的錯誤。

+0

我有同樣的問題。該錯誤來自textAngularSetup.js文件。 @Tony Roczz - 你找到了解決方案? –

回答

0

我找到了解決方案。使測試通過。 我重寫了引發錯誤的常量函數。我希望這有幫助。

beforeEach(module('app', function($provide) { 
    $provide.constant("taRegisterTool", function() { }); 
}));