तो मैं पूरी परीक्षण चीज में नया हूं (मैं उन लोगों में से एक हूं जिन्होंने कहा है कि 'मुझे यूनिट परीक्षण लिखना चाहिए ...' लेकिन कभी भी ऐसा नहीं हुआ: - पी)। अब मैं इस परियोजना के लिए यूनिट परीक्षण लिख रहा हूं। मैं testacular + जैस्मीन का उपयोग कर रहा हूँ, चीजों को संकलित करने के लिए ब्राउज़र के साथ। जब तक मैंने बहुत कुछ AngularJS इंजेक्शन-सामान करने की कोशिश करना शुरू नहीं किया तब तक मुझे कोई समस्या नहीं थी।कोणीयजेएस - इंजेक्शन के साथ मूल परीक्षण
अभी मैं बस अपने सिर को पाने के लिए एनजी मॉडल का परीक्षण करने की कोशिश कर रहा हूं।
मैं एक testacular.conf फ़ाइल जो सब कुछ आवश्यक भी शामिल है:
files = [
'../lib/jquery.js',
'../lib/angular.js',
'./lib/jasmine.js',
'./lib/angular-mocks.js',
JASMINE_ADAPTER,
'./tests.js' //compiled by browserify
];
मैं अपने नियंत्रक को परिभाषित किया है (MainCtrl.coffee)
MainCtrl = ($scope, $rootScope) ->
$scope.hello = 'initial'
module.exports = (angularModule) ->
angularModule.controller 'MainCtrl', ['$scope', '$rootScope', MainCtrl]
return MainCtrl
और मैं अपने परीक्षण में ही है: (_MainCtrlTest। कॉफी, MainCtrl.coffee रूप में एक ही निर्देशिका) में
testModule = angular.module 'MainCtrlTest', []
MainCtrl = require('./MainCtrl')(testModule)
describe 'MainCtrlTest', ->
scope = null
elm = null
ctrl = null
beforeEach inject ($rootScope, $compile, $controller) ->
scope = $rootScope.$new()
ctrl = $controller MainCtrl, $scope: scope
elm = $compile('<input ng-model="hello"/>')(scope)
describe 'value $scope.hello', ->
it 'should initially equal input value', ->
expect(elm.val()).toBe scope.hello
it 'should change when input value changes', ->
scope.$apply -> elm.val('changedValue')
expect(scope.hello).toBe elm.val()
परीक्षण तुरंत विफल रहता है, inp साथ ut's elm.val() रिक्त लौट रहा है, और स्कोप। वह इच्छित मूल्य ('प्रारंभिक', MainCtrl.coffee में सेट)
मैं यहां क्या गलत कर रहा हूं?
धन्यवाद वोजता। यह अब काम करता है :-) हाँ, मैं सिर्फ एक परीक्षण के अंदर इंजेक्शन और नियंत्रक त्वरण कैसे करें, इसके बारे में अपने सिर को पाने के लिए एक बुनियादी कोणीय परीक्षण करने की कोशिश कर रहा था। यह सब वास्तव में सरल है, जो महान है। –