के माध्यम से परीक्षण किया गया है, मैं सफलतापूर्वक Resharper 9.2 का उपयोग कर फैंटॉमजेस के माध्यम से जैस्मीन का उपयोग कर नियंत्रक का परीक्षण कर सकता हूं। एक Testrunner के रूप में।एक मॉड्यूल को एक नियंत्रक में उपलब्ध कराएं जिसे जैस्मीन द्वारा Resharper
मैंने Resharper सेटअप करने के लिए https://blogs.endjin.com/2014/09/unit-testing-angularjs-with-visual-studio-resharper-and-teamcity/ पर दिए गए निर्देशों का पालन किया।
यह काम किया: मैं एक नियंत्रक के लिए एक परीक्षण चला सकते हैं अगर मैं न मॉड्यूल उस पर निर्भर निर्दिष्ट करें:
नियंत्रक:
var moduleName;
(function (moduleName) {
'use strict';
var testableController = (function() {
function testableController($scope) {
var _this = this;
this.$scope = $scope;
$scope.title = "Welcome";
}
testableController.className = 'testableController';
return testableController;
}());
moduleName.testableController = testableController;
})(moduleName || (moduleName = {}));
कल्पना फ़ाइल इस
///<reference path="~/Scripts/jasmine/jasmine.js"/>
///<reference path="~/Scripts/jasmine/angular.js"/>
///<reference path="~/Scripts/jasmine/angular-mocks.js"/>
///<reference path="~/Scripts/angular-ui/ui-bootstrap.min.js" />
///<reference path="~/Scripts/jasmine/controllers.js"/>
///<reference path="~/Scripts/App/Controllers/testableController.js" />
///<reference path="~/Scripts/App/AppJasmine.js" />
describe("Controllers", function() {
beforeEach(module("moduleName"));
describe("Jasmine testableController", function() {
var scope,
controller;
beforeEach(inject(function ($rootScope, $controller) {
scope = $rootScope.$new();
controller = $controller('testableController', { $scope: scope });
}));
it('should set the page title as "Welcome"', function() {
expect(scope.title).toBe('Welcome');
});
});
});
तरह लग रहा है
वास्तविक नियंत्रक कोणीय यूआई बूटस्ट्रैप "ui.bootstrap" का उपयोग करता है। नियंत्रक पेज पर काम करता है अगर मैं इसे अगले नमूना करने के लिए बदल लेकिन जब मैं यह परीक्षण करने की कोशिश है कि कोई त्रुटि बूटस्ट्रैप
angular.module('moduleName', ['ui.bootstrap']);
var moduleName;
(function (moduleName) {
'use strict';
var testableController = (function() {
function testableController($scope, $uibModal) {
var _this = this;
this.$scope = $scope;
this.$uibModal = $uibModal;
$scope.title = "Welcome";
}
testableController.className = 'testableController';
return testableController;
}());
moduleName.testableController = testableController;
})(moduleName || (moduleName = {}));
पर निर्भरता के साथ
Error: [$injector:unpr] Unknown provider: $templateRequestProvider <- $templateRequest <- $uibModal
http://errors.angularjs.org/1.2.24/$injector/unpr?p0=%24templateRequestProvider%20%3C-%20%24templateRequest%20%3C-%20%24uibModal in http://localhost:61032/referenceFile?path=~/webui/trunk/Netvacation.Pegasus.WebUI/Scripts/jasmine/angular.js (line 3802)
नियंत्रक ** संपादित करें 1 है * * मैं
beforeEach(
function() {
module("ui.bootstrap");
module("moduleName");
}
);
की कोशिश की, लेकिन एक ही त्रुटि है।
संपादित 2 मैं उपयोग
http://angular-ui.github.io/bootstrap/ संस्करण: 1.3.3 - 2016-05-22
AngularJS v1.2.24
संपादित 3 मैं न परीक्षण करना चाहते हैं $ uibModal, लेकिन यह दूर नकली
ui.bootstrap का कौन सा संस्करण और कोणीय का कौन सा संस्करण आप उपयोग कर रहे हैं? – JayIsTooCommon
कृपया अद्यतन प्रश्न ui.bootstrap 1.3.3, कोणीय v1.2.24 देखें –