मैं जैस्मीन/कोणीय जेएस इकाई परीक्षण नौसिखिया हूँ। मैंने दो संख्याओं को जोड़ने के लिए एक सरल कोणीय ऐप बनाया ताकि मैं सीख सकूं कि कोणीय ऐप के लिए यूनिट परीक्षण कैसे लिखना है। Angular Doc on unit test is incomplete ब्लॉग और स्टैक ओवरफ़्लो उत्तरों पर आधारित, मैं अपना पहला परीक्षण बनाता हूं और मैं 'इंजेक्टर' अपरिभाषित त्रुटि में चल रहा हूं। मैं इकाई परीक्षण के लिए जैस्मीन ढांचे का उपयोग कर रहा हूँ।
एचटीएमएलकोणीय के साथ जैस्मीन का उपयोग करते समय मुझे अपरिभाषित त्रुटि क्यों 'इंजेक्ट' मिलती है?
<body>
<div ng-controller="additionCtrl">
First Number: <input ng-model="NumberOne"/><br/>
Second Number: <input ng-model="NumberTwo"/>
<button ng-click="add(NumberOne, NumberTwo)">Add</button><br/>
Result: {{Result}}
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<script src="Scripts/additionCtrl.js"></script>
</body>
नियंत्रक:
function additionCtrl($scope) {
$scope.NumberOne = 0;
$scope.NumberTwo = 0;
$scope.Result = 0;
$scope.add = function (a, b) {
};
}
जैस्मीन कल्पना फ़ाइल।
describe("Addition", function() {
var $scope, ctrl;
beforeEach(inject(function ($rootScope, $controller) {
this.scope = $rootScope.$new();
ctrl = $controller('additionCtrl', {
$scope: this.scope
});
}));
it("should add two integer numbers.", inject(function ($controller) {
expect(ctrl.add(2, 3)).toEqual(5);
}));
});
Specrunner.html
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<script type="text/javascript" src="lib/angular-mocks.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script>
<!-- include source files here... -->
<script type="text/javascript" src="../App/Scripts/additionCtrl.js"></script>
<!-- include spec files here... -->
<script type="text/javascript" src="spec/addition.spec.js"></script>
यह एक असफल परीक्षण है और एक बार परीक्षण अपेक्षित परिणाम के साथ विफल हो तो मैं इसे पारित करने के लिए कोड को संशोधित कर सकते हैं, लेकिन मैं किसी भी तरह के साथ समस्या का सामना करना पड़ रहा कोणीय नकली इंजेक्टर नहीं मिल रहा है।
मैंने एक उदाहरण देखा जहां मैं इंजेक्टर का उपयोग करने के बजाय नियंत्रक को नया कर सकता हूं, लेकिन मैं इंजेक्टर का उपयोग करने के बारे में जानने की कोशिश करना चाहता हूं ताकि मैं अधिक जटिल परीक्षण स्थापित कर सकूं।
मुझे यहां कुछ आसान याद आ रहा है। कृपया मुझे किसी भी लिखने के लिए निर्देशित करें जो मैंने याद किया होगा।
धन्यवाद
यही वह है जिसे मैं कुछ समय ढूंढ रहा हूं :) – Nair