AngularJS Unit Testing: Karma Jasmine Tutorial
ฮฮฝฮฑ ฮฑฯฯ ฯฮฑ ฯฮนฮฟ ฮปฮฑฮผฯฯฮฌ ฯฮฑฯฮฑฮบฯฮทฯฮนฯฯฮนฮบฮฌ ฯฮฟฯ Angular.JS ฮตฮฏฮฝฮฑฮน ฯฮฟ ฮฮฟฮบฮนฮผฮญฯ ฮฌฯฮฟฯฮท. ฮฯฮฑฮฝ ฮฟฮน ฯฯฮฟฮณฯฮฑฮผฮผฮฑฯฮนฯฯฮญฯ ฯฮทฯ Google ฮฑฮฝฮญฯฯฯ ฮพฮฑฮฝ ฯฮฟ AngularJS, ฮตฮฏฯฮฑฮฝ ฯฯฮฟ ฮผฯ ฮฑฮปฯ ฯฮฟฯ ฯ ฯฮนฯ ฮดฮฟฮบฮนฮผฮญฯ ฮบฮฑฮน ฮฒฮตฮฒฮฑฮนฯฮธฮทฮบฮฑฮฝ ฯฯฮน ฮฟฮปฯฮบฮปฮทฯฮฟ ฯฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฯฮฟฯ AngularJS ฮฎฯฮฑฮฝ ฮดฮฟฮบฮนฮผฮฑฯฯฮนฮบฯ.
ฮฃฯฮฟ AngularJS, ฮท ฮดฮฟฮบฮนฮผฮฎ ฯฯฮฑฮณฮผฮฑฯฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฯฯ ฮฝฮฎฮธฯฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮฟ Karma (ฯฮปฮฑฮฏฯฮนฮฟ). ฮ ฮดฮฟฮบฮนฮผฮฎ Angular JS ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฯฯฮฑฮณฮผฮฑฯฮฟฯฮฟฮนฮทฮธฮตฮฏ ฯฯฯฮฏฯ Karma, ฮฑฮปฮปฮฌ ฯฮฟ ฯฮปฮฑฮฏฯฮนฮฟ Karma ฮญฯฮตฮน ฮผฮนฮฑ ฯฯฯฮฟ ฮตฮพฮฑฮนฯฮตฯฮนฮบฮฎ ฮปฮตฮนฯฮฟฯ ฯฮณฮนฮบฯฯฮทฯฮฑ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ ฯฮฟฯ ฮบฯฮดฮนฮบฮฑ AngularJS, ฯฮฟฯ ฮตฮฏฮฝฮฑฮน ฮปฮฟฮณฮนฮบฯ ฮฝฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮฑฯ ฯฯ ฯฮฟ ฯฮปฮฑฮฏฯฮนฮฟ.
- ฮฃฯฮฟ AngularJS, ฮผฯฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฮตฮบฯฮตฮปฮญฯฮฟฯ ฮผฮต ฮฮฟฮบฮนฮผฮฎ ฮผฮฟฮฝฮฌฮดฮฑฯ ฯฯฯฮนฯฯฮฌ ฮณฮนฮฑ ฯฮฟฯ ฯ ฮตฮปฮตฮณฮบฯฮญฯ ฮบฮฑฮน ฯฮนฯ ฮฟฮดฮทฮณฮฏฮตฯ.
- ฮฯฮฟฯฮฟฯฮผฮต ฮตฯฮฏฯฮทฯ ฮฝฮฑ ฯฯฮฑฮณฮผฮฑฯฮฟฯฮฟฮนฮฎฯฮฟฯ ฮผฮต ฯฮตฮปฮนฮบฮฎ ฮดฮฟฮบฮนฮผฮฎ ฯฮฟฯ AngularJS, ฮท ฮฟฯฮฟฮฏฮฑ ฮดฮฟฮบฮนฮผฮฌฮถฮตฮน ฮฑฯฯ ฯฮทฮฝ ฮฟฯฯฮนฮบฮฎ ฮณฯฮฝฮฏฮฑ ฯฮฟฯ ฯฯฮฎฯฯฮท.
ฮฮนฯฮฑฮณฯฮณฮฎ & ฮฮณฮบฮฑฯฮฌฯฯฮฑฯฮท ฯฮฟฯ ฯฮปฮฑฮนฯฮฏฮฟฯ Karma
ฮคฮฟ ฮบฮฌฯฮผฮฑ ฮตฮฏฮฝฮฑฮน ฮฑ ฮตฯฮณฮฑฮปฮตฮฏฮฟ ฮฑฯ ฯฮฟฮผฮฑฯฮนฯฮผฮฟฯ ฮดฮฟฮบฮนฮผฯฮฝ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฮธฮทฮบฮต ฮฑฯฯ ฯฮทฮฝ ฮฟฮผฮฌฮดฮฑ Angular JS ฯฮทฯ Google. ฮคฮฟ ฯฯฯฯฮฟ ฮฒฮฎฮผฮฑ ฮณฮนฮฑ ฯฮท ฯฯฮฎฯฮท ฯฮฟฯ Karma ฮตฮฏฮฝฮฑฮน ฮท ฮตฮณฮบฮฑฯฮฌฯฯฮฑฯฮท ฯฮฟฯ Karma. ฮคฮฟ Karma ฮตฮณฮบฮฑฮธฮฏฯฯฮฑฯฮฑฮน ฮผฮญฯฯ npm (ฯฮฟฯ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑฯ ฮดฮนฮฑฯฮตฮนฯฮนฯฯฮฎฯ ฯฮฑฮบฮญฯฯฮฝ ฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฮตฯฮบฮฟฮปฮท ฮตฮณฮบฮฑฯฮฌฯฯฮฑฯฮท ฮผฮฟฮฝฮฌฮดฯฮฝ ฯฮต ฯฮฟฯฮนฮบฯ ฮผฮทฯฮฌฮฝฮทฮผฮฑ).
ฮฮณฮบฮฑฯฮฌฯฯฮฑฯฮท ฯฮฟฯ ฮฮฌฯฮผฮฑ
ฮ ฮตฮณฮบฮฑฯฮฌฯฯฮฑฯฮท ฯฮฟฯ Karma ฮผฮญฯฯ npm ฮณฮฏฮฝฮตฯฮฑฮน ฯฮต ฮผฮนฮฑ ฮดฮนฮฑฮดฮนฮบฮฑฯฮฏฮฑ ฮดฯฮฟ ฮฒฮทฮผฮฌฯฯฮฝ.
ฮฮฎฮผฮฑ 1) ฮฮบฯฮตฮปฮญฯฯฮต ฯฮทฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฮณฯฮฑฮผฮผฮฎ ฮผฮญฯฮฑ ฮฑฯฯ ฯฮท ฮณฯฮฑฮผฮผฮฎ ฮตฮฝฯฮฟฮปฯฮฝ
npm install karma karma-chrome-launcher karma-jasmine
ฮฮฝ,
- ฮคฮฟ npm ฮตฮฏฮฝฮฑฮน ฯฮฟ ฮฒฮฟฮทฮธฮทฯฮนฮบฯ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฮณฯฮฑฮผฮผฮฎฯ ฮตฮฝฯฮฟฮปฯฮฝ ฮณฮนฮฑ ฯฮฟฮฝ ฮดฮนฮฑฯฮตฮนฯฮนฯฯฮฎ ฯฮฑฮบฮญฯฯฮฝ ฮบฯฮผฮฒฮฟฯ ฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮตฮณฮบฮฑฯฮฌฯฯฮฑฯฮท ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฯฮฝ ฮปฮตฮนฯฮฟฯ ฯฮณฮนฮบฯฮฝ ฮผฮฟฮฝฮฌฮดฯฮฝ ฯฮต ฮฟฯฮฟฮนฮฟฮดฮฎฯฮฟฯฮต ฮผฮทฯฮฌฮฝฮทฮผฮฑ.
- ฮ ฯฮฑฯฮฌฮผฮตฯฯฮฟฯ ฮตฮณฮบฮฑฯฮฌฯฯฮฑฯฮทฯ ฮบฮฑฮธฮฟฮดฮทฮณฮตฮฏ ฯฮฟ ฮฒฮฟฮทฮธฮทฯฮนฮบฯ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฮณฯฮฑฮผฮผฮฎฯ ฮตฮฝฯฮฟฮปฯฮฝ npm ฯฯฮน ฮฑฯฮฑฮนฯฮตฮฏฯฮฑฮน ฮตฮณฮบฮฑฯฮฌฯฯฮฑฯฮท.
- ฮฅฯฮฌฯฯฮฟฯ ฮฝ 3 ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮตฯ ฯฮฟฯ ฮบฮฑฮธฮฟฯฮฏฮถฮฟฮฝฯฮฑฮน ฯฯฮท ฮณฯฮฑฮผฮผฮฎ ฮตฮฝฯฮฟฮปฯฮฝ ฯฮฟฯ ฮฑฯฮฑฮนฯฮฟฯฮฝฯฮฑฮน ฮณฮนฮฑ ฮฝฮฑ ฮตฯฮณฮฑฯฯฮฟฯฮฝ ฮผฮต ฯฮฟ ฮบฮฌฯฮผฮฑ.
- ฮคฮฟ ฮบฮฌฯฮผฮฑ ฮตฮฏฮฝฮฑฮน ฮท ฮฒฮฑฯฮนฮบฮฎ ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท ฯฮฟฯ ฮธฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮทฮธฮตฮฏ ฮณฮนฮฑ ฮดฮฟฮบฮนฮผฮฑฯฯฮนฮบฮฟฯฯ ฯฮบฮฟฯฮฟฯฯ.
- ฮคฮฟ karma-chrome-launcher ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฮพฮตฯฯฯฮนฯฯฮฎ ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท ฯฮฟฯ ฮตฯฮนฯฯฮญฯฮตฮน ฯฮทฮฝ ฮฑฮฝฮฑฮณฮฝฯฯฮนฯฮท ฯฯฮฝ ฮตฮฝฯฮฟฮปฯฮฝ karma ฮฑฯฯ ฯฮฟ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฯฮตฯฮนฮฎฮณฮทฯฮทฯ chrome.
- karma-jasmine โ ฮฯ ฯฯ ฮตฮณฮบฮฑฮธฮนฯฯฮฌ ฯฮฟ jasmine ฯฮฟฯ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑ ฮตฮพฮฑฯฯฯฮผฮตฮฝฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฮณฮนฮฑ ฯฮฟ Karma.
ฮฮฎฮผฮฑ 2) ฮคฮฟ ฮตฯฯฮผฮตฮฝฮฟ ฮฒฮฎฮผฮฑ ฮตฮฏฮฝฮฑฮน ฮฝฮฑ ฮตฮณฮบฮฑฯฮฑฯฯฮฎฯฮตฯฮต ฯฮฟ ฮฒฮฟฮทฮธฮทฯฮนฮบฯ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฮณฯฮฑฮผฮผฮฎฯ ฮตฮฝฯฮฟฮปฯฮฝ karma. ฮฯ ฯฯ ฮฑฯฮฑฮนฯฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฮตฮฝฯฮฟฮปฯฮฝ ฮณฯฮฑฮผฮผฮฎฯ ฮบฮฌฯฮผฮฑ. ฮคฮฟ ฮฒฮฟฮทฮธฮทฯฮนฮบฯ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฮณฯฮฑฮผฮผฮฎฯ karma ฮธฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮทฮธฮตฮฏ ฮณฮนฮฑ ฯฮทฮฝ ฯฯฮฟฮตฯฮฟฮนฮผฮฑฯฮฏฮฑ ฯฮฟฯ ฯฮตฯฮนฮฒฮฌฮปฮปฮฟฮฝฯฮฟฯ ฮบฮฌฯฮผฮฑ ฮณฮนฮฑ ฮดฮฟฮบฮนฮผฮฎ.
ฮฮนฮฑ ฮฝฮฑ ฮตฮณฮบฮฑฯฮฑฯฯฮฎฯฮตฯฮต ฯฮฟ ฮฒฮฟฮทฮธฮทฯฮนฮบฯ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฮณฯฮฑฮผฮผฮฎฯ ฮตฮฝฯฮฟฮปฯฮฝ, ฮตฮบฯฮตฮปฮญฯฯฮต ฯฮทฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฮณฯฮฑฮผฮผฮฎ ฮผฮญฯฮฑ ฮฑฯฯ ฯฮท ฮณฯฮฑฮผฮผฮฎ ฮตฮฝฯฮฟฮปฯฮฝ
npm install karma-cli
ฮตฮฝ,
ฮฮนฮฑฮผฯฯฯฯฯฮท ฯฮฟฯ ฯฮปฮฑฮนฯฮฏฮฟฯ ฮฮฌฯฮผฮฑ
ฮคฮฟ ฮตฯฯฮผฮตฮฝฮฟ ฮฒฮฎฮผฮฑ ฮตฮฏฮฝฮฑฮน ฮฝฮฑ ฮดฮนฮฑฮผฮฟฯฯฯฯฮตฯฮต ฯฮฟ ฮบฮฌฯฮผฮฑ ฯฮฟฯ ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฮณฮฏฮฝฮตฮน ฮผฮญฯฯ ฯฮทฯ ฮตฮฝฯฮฟฮปฮฎฯ
"karma โinit"
ฮฮตฯฮฌ ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฯฮฟฯ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮฒฮฎฮผฮฑฯฮฟฯ, ฯฮฟ karma ฮธฮฑ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฯฮตฮน ฮญฮฝฮฑ ฮฑฯฯฮตฮฏฮฟ karma.conf.js. ฮคฮฟ ฮฑฯฯฮตฮฏฮฟ ฯฮนฮธฮฑฮฝฯฯฮฑฯฮฑ ฮธฮฑ ฮผฮฟฮนฮฌฮถฮตฮน ฮผฮต ฯฮฟ ฮฑฯฯฯฯฮฑฯฮผฮฑ ฯฮฟฯ ฯฮฑฮฏฮฝฮตฯฮฑฮน ฯฮฑฯฮฑฮบฮฌฯฯ
files: [ 'Your application Name'/AngularJS/AngularJS.js', 'Your application Name'/AngularJS-mocks/AngularJS-mocks.js', 'lib/app.js', 'tests/*.js' ]
ฮคฮฑ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮฑฯฯฮตฮฏฮฑ ฮดฮนฮฑฮผฯฯฯฯฯฮทฯ ฮปฮญฮฝฮต ฯฯฮฟฮฝ ฮบฮนฮฝฮทฯฮฎฯฮฑ ฯฯฯฮฝฮฟฯ ฮตฮบฯฮญฮปฮตฯฮทฯ ฯฮฟฯ karma ฯฮฑ ฮฑฮบฯฮปฮฟฯ ฮธฮฑ ฯฯฮฌฮณฮผฮฑฯฮฑ
- 'ฮฮฝฮฟฮผฮฑ ฯฮทฯ ฮฑฮฏฯฮทฯฮฎฯ ฯฮฑฯ' โ ฮฯ ฯฯ ฮธฮฑ ฮฑฮฝฯฮนฮบฮฑฯฮฑฯฯฮฑฮธฮตฮฏ ฮฑฯฯ ฯฮฟ ฯฮฝฮฟฮผฮฑ ฯฮทฯ ฮฑฮฏฯฮทฯฮฎฯ ฯฮฑฯ.
- ยปฮคฮฟ ฯฮฝฮฟฮผฮฑ ฯฮทฯ ฮตฯฮฑฯฮผฮฟฮณฮฎฯ ฯฮฑฯ'/AngularJS/AngularJS.js' โ ฮฯ ฯฯ ฮปฮญฮตฮน ฯฯฮฟ ฮบฮฌฯฮผฮฑ ฯฯฮน ฮท ฮตฯฮฑฯฮผฮฟฮณฮฎ ฯฮฑฯ ฮตฮพฮฑฯฯฮฌฯฮฑฮน ฮฑฯฯ ฯฮนฯ ฮฒฮฑฯฮนฮบฮญฯ ฮผฮฟฮฝฮฌฮดฮตฯ ฯฯฮฟ AngularJS
- 'ฮคฮฟ ฯฮฝฮฟฮผฮฑ ฯฮทฯ ฮตฯฮฑฯฮผฮฟฮณฮฎฯ ฯฮฑฯ'/AngularJS-mocks/AngularJS-mocks.js' โ ฮฯ ฯฯ ฮปฮญฮตฮน ฯฯฮฟ ฮบฮฌฯฮผฮฑ ฮฝฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฎฯฮตฮน ฯฮท ฮปฮตฮนฯฮฟฯ ฯฮณฮฏฮฑ Unit Testing ฮณฮนฮฑ ฯฮฟ AngularJS ฮฑฯฯ ฯฮฟ ฮฑฯฯฮตฮฏฮฟ Angular.JS-mocks.js.
- ฮฮปฮฑ ฯฮฑ ฮบฯฯฮนฮฑ ฮฑฯฯฮตฮฏฮฑ ฮตฯฮฑฯฮผฮฟฮณฮฎฯ ฮฎ ฮตฯฮนฯฮตฮนฯฮทฮผฮฑฯฮนฮบฮฎฯ ฮปฮฟฮณฮนฮบฮฎฯ ฯ ฯฮฌฯฯฮฟฯ ฮฝ ฯฯฮฟฮฝ ฯฮฌฮบฮตฮปฮฟ lib ฯฮทฯ ฮตฯฮฑฯฮผฮฟฮณฮฎฯ ฯฮฑฯ.
- ฮ ฯฮฌฮบฮตฮปฮฟฯ ฮดฮฟฮบฮนฮผฯฮฝ ฮธฮฑ ฯฮตฯฮนฮญฯฮตฮน ฯฮปฮตฯ ฯฮนฯ ฮดฮฟฮบฮนฮผฮญฯ ฮผฮฟฮฝฮฌฮดฮฑฯ.
ฮฮนฮฑ ฮฝฮฑ ฮตฮปฮญฮณฮพฮตฯฮต ฮตฮฌฮฝ ฯฮฟ ฮบฮฌฯฮผฮฑ ฮปฮตฮนฯฮฟฯ ฯฮณฮตฮฏ, ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฯฯฮต ฮญฮฝฮฑ ฮฑฯฯฮตฮฏฮฟ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน Sample.js, ฮฒฮฌฮปฯฮต ฯฮฟฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฮบฯฮดฮนฮบฮฑ ฮบฮฑฮน ฯฮฟฯฮฟฮธฮตฯฮฎฯฯฮต ฯฮฟ ฯฯฮฟฮฝ ฮบฮฑฯฮฌฮปฮฟฮณฮฟ ฮดฮฟฮบฮนฮผฮฎฯ.
describe('Sample test', function() {
it('Condition is true', function() {
expect('AngularJS').toBe('AngularJS');
});
});
ฮ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮบฯฮดฮนฮบฮฑฯ ฮญฯฮตฮน ฯฮนฯ ฮฑฮบฯฮปฮฟฯ ฮธฮตฯ ฯฯฯ ฯฮญฯ
- ฮ ฯฯ ฮฝฮฌฯฯฮทฯฮท ฯฮตฯฮนฮณฯฮฑฯฮฎฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฮฝฮฑ ฮดฯฯฮตฮน ฮผฮนฮฑ ฯฮตฯฮนฮณฯฮฑฯฮฎ ฯฮทฯ ฮดฮฟฮบฮนฮผฮฎฯ. ฮฃฯฮทฮฝ ฯฮตฯฮฏฯฯฯฯฮฎ ฮผฮฑฯ, ฮดฮฏฮฝฮฟฯ ฮผฮต ฯฮทฮฝ ฯฮตฯฮนฮณฯฮฑฯฮฎ ยซฮฮตฮฏฮณฮผฮฑ ฮดฮฟฮบฮนฮผฮฎฯยป ฯฯฮท ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ.
- ฮ ฯฯ ฮฝฮฌฯฯฮทฯฮท 'it' ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฮฝฮฑ ฮดฯฯฮตฮน ฮญฮฝฮฑ ฯฮฝฮฟฮผฮฑ ฯฯฮท ฮดฮฟฮบฮนฮผฮฎ. ฮฃฯฮทฮฝ ฯฮตฯฮฏฯฯฯฯฮฎ ฮผฮฑฯ, ฮดฮฏฮฝฮฟฯ ฮผฮต ฯฮฟ ฯฮฝฮฟฮผฮฑ ฯฮทฯ ฮดฮฟฮบฮนฮผฮฎฯ ฮผฮฑฯ ฯฯ ยซฮ ฯฯ ฮฝฮธฮฎฮบฮท ฮตฮฏฮฝฮฑฮน ฮฑฮปฮทฮธฮฎฯยป. ฮคฮฟ ฯฮฝฮฟฮผฮฑ ฯฮฟฯ ฯฮตฯฯ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮญฯฮตฮน ฮฝฯฮทฮผฮฑ.
- ฮ ฯฯ ฮฝฮดฯ ฮฑฯฮผฯฯ ฯฯฮฝ ฮปฮญฮพฮตฯฮฝ-ฮบฮปฮตฮนฮดฮนฯฮฝ ยซฮฑฮฝฮฑฮผฮญฮฝฮตฯฮฑฮนยป ฮบฮฑฮน ยซฮฝฮฑ ฮตฮฏฮฝฮฑฮนยป ฮดฮทฮปฯฮฝฮตฮน ฯฮฟฮนฮฑ ฮตฮฏฮฝฮฑฮน ฮท ฮฑฮฝฮฑฮผฮตฮฝฯฮผฮตฮฝฮท ฮบฮฑฮน ฯฯฮฑฮณฮผฮฑฯฮนฮบฮฎ ฯฮนฮผฮฎ ฯฮฟฯ ฮฑฯฮฟฯฮตฮปฮญฯฮผฮฑฯฮฟฯ ฯฮทฯ ฮดฮฟฮบฮนฮผฮฎฯ. ฮฮฌฮฝ ฮท ฯฯฮฑฮณฮผฮฑฯฮนฮบฮฎ ฮบฮฑฮน ฮท ฮฑฮฝฮฑฮผฮตฮฝฯฮผฮตฮฝฮท ฯฮนฮผฮฎ ฮตฮฏฮฝฮฑฮน ฮท ฮฏฮดฮนฮฑ, ฯฯฯฮต ฮท ฮดฮฟฮบฮนฮผฮฎ ฮธฮฑ ฯฮตฯฮฌฯฮตฮน, ฮดฮนฮฑฯฮฟฯฮตฯฮนฮบฮฌ ฮธฮฑ ฮฑฯฮฟฯฯฯฮตฮน.
ฮฯฮฑฮฝ ฮตฮบฯฮตฮปฮญฯฮตฯฮต ฯฮทฮฝ ฮฑฮบฯฮปฮฟฯ ฮธฮท ฮณฯฮฑฮผฮผฮฎ ฯฯฮท ฮณฯฮฑฮผฮผฮฎ ฮตฮฝฯฮฟฮปฯฮฝ, ฮธฮฑ ฮตฮบฯฮตฮปฮญฯฮตฮน ฯฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮฑฯฯฮตฮฏฮฟ ฮดฮฟฮบฮนฮผฮฎฯ
KARMA start
ฮ ฯฮฑฯฮฑฮบฮฌฯฯ ฮญฮพฮฟฮดฮฟฯ ฮปฮฑฮผฮฒฮฌฮฝฮตฯฮฑฮน ฮฑฯฯ ฯฮฟ IDE Webstorm ฯฯฮฟ ฮฟฯฮฟฮฏฮฟ ฯฯฮฑฮณฮผฮฑฯฮฟฯฮฟฮนฮฎฮธฮทฮบฮฑฮฝ ฯฮฑ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮฒฮฎฮผฮฑฯฮฑ.
- ฮ ฮญฮพฮฟฮดฮฟฯ ฮญฯฯฮตฯฮฑฮน ฯฯฮฟฮฝ ฮตฮพฮตฯฮตฯ ฮฝฮทฯฮฎ ฮฮฌฯฮผฮฑ ฮผฮญฯฮฑ Webstorm. ฮฯ ฯฯ ฯฮฟ ฯฮฑฯฮฌฮธฯ ฯฮฟ ฮดฮตฮฏฯฮฝฮตฮน ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฯฮปฯฮฝ ฯฯฮฝ ฮดฮฟฮบฮนฮผฯฮฝ ฯฮฟฯ ฮฟฯฮฏฮถฮฟฮฝฯฮฑฮน ฯฯฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฯฮฟฯ ฮบฮฌฯฮผฮฑ.
- ฮฮดฯ ฮผฯฮฟฯฮตฮฏฯฮต ฮฝฮฑ ฮดฮตฮฏฯฮต ฯฯฮน ฮตฮผฯฮฑฮฝฮฏฮถฮตฯฮฑฮน ฮท ฯฮตฯฮนฮณฯฮฑฯฮฎ ฯฮทฯ ฮดฮฟฮบฮนฮผฮฎฯ ฯฮฟฯ ฮตฮบฯฮตฮปฮญฯฯฮทฮบฮต ฮท ฮฟฯฮฟฮฏฮฑ ฮตฮฏฮฝฮฑฮน "ฮฮตฮฏฮณฮผฮฑ ฮดฮฟฮบฮนฮผฮฎฯ".
- ฮฃฯฮท ฯฯ ฮฝฮญฯฮตฮนฮฑ, ฮผฯฮฟฯฮตฮฏฯฮต ฮฝฮฑ ฮดฮตฮฏฯฮต ฯฯฮน ฮตฮบฯฮตฮปฮตฮฏฯฮฑฮน ฮท ฮฏฮดฮนฮฑ ฮท ฮดฮฟฮบฮนฮผฮฎ ฯฮฟฯ ฮญฯฮตฮน ฯฮฟ ฯฮฝฮฟฮผฮฑ "ฮ ฯฯฮฟฯ ฮตฮฏฮฝฮฑฮน ฮฑฮปฮทฮธฮฎฯ".
- ฮฃฮทฮผฮตฮนฯฯฯฮต ฯฯฮน ฮตฯฮตฮนฮดฮฎ ฯฮปฮตฯ ฮฟฮน ฮดฮฟฮบฮนฮผฮญฯ ฮญฯฮฟฯ ฮฝ ฯฮฟ ฯฯฮฌฯฮนฮฝฮฟ ฮตฮนฮบฮฟฮฝฮฏฮดฮนฮฟ "Ok" ฮดฮฏฯฮปฮฑ ฯฮฟฯ ฯฯ ฮผฮฒฮฟฮปฮฏฮถฮตฮน ฯฯฮน ฯฮปฮฑ ฯฮฑ ฯฮตฯฯ ฯฮญฯฮฑฯฮฑฮฝ.
ฮฮฟฮบฮนฮผฮฎ ฮตฮปฮตฮณฮบฯฯฮฝ AngularJS
ฮคฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฮดฮฟฮบฮนฮผฯฮฝ ฮบฮฌฯฮผฮฑ ฮญฯฮตฮน ฮตฯฮฏฯฮทฯ ฯฮท ฮดฯ ฮฝฮฑฯฯฯฮทฯฮฑ ฮฝฮฑ ฮดฮฟฮบฮนฮผฮฌฮถฮตฮน ฮฮปฮตฮณฮบฯฮญฯ ฮฑฯฯ ฮฌฮบฯฮท ฯฮต ฮฌฮบฯฮท. ฮฯ ฯฯ ฯฮตฯฮนฮปฮฑฮผฮฒฮฌฮฝฮตฮน ฯฮท ฮดฮฟฮบฮนฮผฮฎ ฯฮฟฯ ฮฑฮฝฯฮนฮบฮตฮนฮผฮญฮฝฮฟฯ $scope ฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฯฯฮฟฯ ฯ ฮตฮปฮตฮณฮบฯฮญฯ.
ฮฯ ฮดฮฟฯฮผฮต ฮญฮฝฮฑ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ ฮณฮนฮฑ ฯฮฟ ฯฯฯ ฮผฯฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯฮฟ ฯฮตฯฯฯฮฟฯ ฮผฮต ฮฑฯ ฯฯ.
ฮฃฯฮฟ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฌ ฮผฮฑฯ,
ฮ ฯฯฯฮฑ ฮธฮฑ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮฟฯฮฏฯฮฟฯ ฮผฮต ฮญฮฝฮฑฮฝ ฮตฮปฮตฮณฮบฯฮฎ. ฮฯ ฯฯฯ ฮฟ ฮตฮปฮตฮณฮบฯฮฎฯ ฮธฮฑ ฮตฮบฯฮตฮปฮฟฯฯฮต ฯฮฑ ฯฮฑฯฮฑฮบฮฌฯฯ ฮฒฮฎฮผฮฑฯฮฑ
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฎฯฯฮต ฮผฮนฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ID ฮบฮฑฮน ฮตฮบฯฯฯฮฎฯฯฮต ฯฮทฮฝ ฯฮนฮผฮฎ 5 ฯฮต ฮฑฯ ฯฮฎฮฝ.
- ฮฮฝฯฮนฯฯฮฟฮนฯฮฏฯฯฮต ฯฮท ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ID ฯฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $scope.
ฮ ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ ฮธฮฑ ฮตฮปฮญฮณฮพฮตฮน ฯฮทฮฝ ฯฯฮฑฯฮพฮท ฮฑฯ ฯฮฟฯ ฯฮฟฯ ฮตฮปฮตฮณฮบฯฮฎ ฮบฮฑฮน ฮตฯฮฏฯฮทฯ ฮธฮฑ ฮตฮปฮญฮณฮพฮตฮน ฮตฮฌฮฝ ฮท ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ID ฯฮฟฯ ฮฑฮฝฯฮนฮบฮตฮนฮผฮญฮฝฮฟฯ $scope ฮญฯฮตฮน ฮฟฯฮนฯฯฮตฮฏ ฯฮต 5.
ฮ ฯฯฯฮฑ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮดฮนฮฑฯฯฮฑฮปฮฏฯฮฟฯ ฮผฮต ฯฯฮน ฯ ฯฮฌฯฯฮตฮน ฮท ฮฑฮบฯฮปฮฟฯ ฮธฮท ฯฯฮฟฯฯฯฮธฮตฯฮท
ฮฮณฮบฮฑฯฮฑฯฯฮฎฯฯฮต ฯฮท ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท Angular.JS-mocks ฮผฮญฯฯ npm. ฮฯ ฯฯ ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฮณฮฏฮฝฮตฮน ฮตฮบฯฮตฮปฯฮฝฯฮฑฯ ฯฮทฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฮณฯฮฑฮผฮผฮฎ ฯฯฮท ฮณฯฮฑฮผฮผฮฎ ฮตฮฝฯฮฟฮปฯฮฝ
npm install Angular JS-mocks
ฮฃฯฮท ฯฯ ฮฝฮญฯฮตฮนฮฑ, ฯฯฮญฯฮตฮน ฮฝฮฑ ฯฯฮฟฯฮฟฯฮฟฮนฮฎฯฮตฯฮต ฯฮฟ ฮฑฯฯฮตฮฏฮฟ karma.conf.js ฮณฮนฮฑ ฮฝฮฑ ฮดฮนฮฑฯฯฮฑฮปฮฏฯฮตฯฮต ฯฯฮน ฯฮตฯฮนฮปฮฑฮผฮฒฮฌฮฝฮฟฮฝฯฮฑฮน ฯฮฑ ฯฯฯฯฮฌ ฮฑฯฯฮตฮฏฮฑ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ. ฮคฮฟ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮผฮฎฮผฮฑ ฮดฮตฮฏฯฮฝฮตฮน ฮฑฯฮปฯฯ ฯฮฟ ฯฮผฮฎฮผฮฑ ฮฑฯฯฮตฮฏฯฮฝ ฯฮฟฯ karma.conf.js ฯฮฟฯ ฯฯฮญฯฮตฮน ฮฝฮฑ ฯฯฮฟฯฮฟฯฮฟฮนฮทฮธฮตฮฏ
files: ['lib/AngularJS.js','lib/AngularJS-mocks.js','lib/index.js','test/*.js']
- ฮ ฯฮฑฯฮฌฮผฮตฯฯฮฟฯ 'ฮฑฯฯฮตฮฏฮฑ' ฮปฮญฮตฮน ฮฒฮฑฯฮนฮบฮฌ ฯฯฮฟ Karma ฯฮปฮฑ ฯฮฑ ฮฑฯฯฮตฮฏฮฑ ฯฮฟฯ ฮฑฯฮฑฮนฯฮฟฯฮฝฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฯฯฮฝ ฮดฮฟฮบฮนฮผฯฮฝ.
- ฮคฮฟ ฮฑฯฯฮตฮฏฮฟ AngularJS.js ฮบฮฑฮน AngularJS-mocks.js ฮฑฯฮฑฮนฯฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฮดฮฟฮบฮนฮผฯฮฝ ฮผฮฟฮฝฮฌฮดฮฑฯ AngularJS
- ฮคฮฟ ฮฑฯฯฮตฮฏฮฟ index.js ฮธฮฑ ฯฮตฯฮนฮญฯฮตฮน ฯฮฟฮฝ ฮบฯฮดฮนฮบฮฌ ฮผฮฑฯ ฮณฮนฮฑ ฯฮฟฮฝ ฮตฮปฮตฮณฮบฯฮฎ
- ฮ ฯฮฌฮบฮตฮปฮฟฯ ฮดฮฟฮบฮนฮผฮฎฯ ฮธฮฑ ฯฮตฯฮนฮญฯฮตฮน ฯฮปฮตฯ ฯฮนฯ ฮดฮฟฮบฮนฮผฮญฯ AngularJS ฮผฮฑฯ
ฮ ฮฑฯฮฑฮบฮฌฯฯ ฮตฮฏฮฝฮฑฮน ฮฟ ฮบฯฮดฮนฮบฮฑฯ Angular.JS ฯฮฟฯ ฮธฮฑ ฮฑฯฮฟฮธฮทฮบฮตฯ ฯฮตฮฏ ฯฯ ฮฑฯฯฮตฮฏฮฟ Index.js ฯฯฮฟฮฝ ฮดฮฟฮบฮนฮผฮฑฯฯฮนฮบฯ ฯฮฌฮบฮตฮปฮฟ ฯฮทฯ ฮตฯฮฑฯฮผฮฟฮณฮฎฯ ฮผฮฑฯ.
ฮ ฯฮฑฯฮฑฮบฮฌฯฯ ฮบฯฮดฮนฮบฮฑฯ ฮบฮฌฮฝฮตฮน ฮฑฯฮปฯฯ ฯฮฑ ฮฑฮบฯฮปฮฟฯ ฮธฮฑ ฯฯฮฌฮณฮผฮฑฯฮฑ
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฮตฮฝฯฯ ฮฮฟฮฝฮฌฮดฮฑ AngularJS ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน sampleApp
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฎฯฯฮต ฮญฮฝฮฑฮฝ ฮตฮปฮตฮณฮบฯฮฎ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน AngularJSController
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฎฯฯฮต ฮผฮนฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน ID, ฮดฯฯฯฮต ฯฮทฯ ฮผฮนฮฑ ฯฮนฮผฮฎ 5 ฮบฮฑฮน ฮฑฮฝฯฮนฯฯฮฟฮนฯฮฏฯฯฮต ฯฮทฮฝ ฯฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $scope
var sampleApp = AngularJS.module('sampleApp',[]);
sampleApp.controller('AngularJSController', function($scope) {
$scope.ID =5;
});
ฮฯฮปฮนฯ ฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮบฯฮดฮนฮบฮฑฯ ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฮผฮต ฮตฯฮนฯฯ ฯฮฏฮฑ, ฯฮฟ ฮตฯฯฮผฮตฮฝฮฟ ฮฒฮฎฮผฮฑ ฮธฮฑ ฮฎฯฮฑฮฝ ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฯฮตฯฮต ฮญฮฝฮฑ ฮฮฟฮบฮนฮผฮฑฯฯฮนฮบฮฎ ฮธฮฎฮบฮท ฮณฮนฮฑ ฮฝฮฑ ฮฒฮตฮฒฮฑฮนฯฮธฮตฮฏฯฮต ฯฯฮน ฮฟ ฮบฯฮดฮนฮบฮฑฯ ฮญฯฮตฮน ฮณฯฮฑฯฯฮตฮฏ ฮบฮฑฮน ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฯฯฯฯฮฌ.
ฮ ฮบฯฮดฮนฮบฯฯ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฯฯฯฯ ฯฮฑฮฏฮฝฮตฯฮฑฮน ฯฮฑฯฮฑฮบฮฌฯฯ.
ฮ ฮบฯฮดฮนฮบฮฑฯ ฮธฮฑ ฮฒฯฮฏฯฮบฮตฯฮฑฮน ฯฮต ฮญฮฝฮฑ ฮพฮตฯฯฯฮนฯฯฯ ฮฑฯฯฮตฮฏฮฟ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน ControllerTest.js, ฯฮฟ ฮฟฯฮฟฮฏฮฟ ฮธฮฑ ฯฮฟฯฮฟฮธฮตฯฮทฮธฮตฮฏ ฯฯฮฟฮฝ ฯฮฌฮบฮตฮปฮฟ ฮดฮฟฮบฮนฮผฮฎฯ. ฮ ฯฮฑฯฮฑฮบฮฌฯฯ ฮบฯฮดฮนฮบฮฑฯ ฮบฮฌฮฝฮตฮน ฮฑฯฮปฯฯ ฯฮฑ ฮฑฮบฯฮปฮฟฯ ฮธฮฑ ฮฒฮฑฯฮนฮบฮฌ ฯฯฮฌฮณฮผฮฑฯฮฑ
- ฮ ฯฮนฮฝ ฮฑฯฯ ฮบฮฌฮธฮต ฯฯ ฮฝฮฌฯฯฮทฯฮท โ ฮฯ ฯฮฎ ฮท ฯฯ ฮฝฮฌฯฯฮทฯฮท ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮท ฯฯฯฯฯฯฮท ฯฮทฯ ฮปฮตฮนฯฮฟฯ ฯฮณฮนฮบฮฎฯ ฮผฮฟฮฝฮฌฮดฮฑฯ AngularJS.JS ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน ยซsampleAppยป ฯฯฮนฮฝ ฮฑฯฯ ฯฮท ฮดฮฟฮบฮนฮผฮฑฯฯฮนฮบฮฎ ฮตฮบฯฮญฮปฮตฯฮท. ฮฃฮทฮผฮตฮนฯฯฯฮต ฯฯฮน ฮฑฯ ฯฯ ฮตฮฏฮฝฮฑฮน ฯฮฟ ฯฮฝฮฟฮผฮฑ ฯฮทฯ ฮปฮตฮนฯฮฟฯ ฯฮณฮนฮบฮฎฯ ฮผฮฟฮฝฮฌฮดฮฑฯ ฯฮต ฮญฮฝฮฑ ฮฑฯฯฮตฮฏฮฟ index.js.
- ฮคฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $controller ฮดฮทฮผฮนฮฟฯ ฯฮณฮตฮฏฯฮฑฮน ฯฯ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮผฮฑฮบฮญฯฮฑฯ ฮณฮนฮฑ ฯฮฟฮฝ ฮตฮปฮตฮณฮบฯฮฎ "Angular JSController" ฯฮฟฯ ฮฟฯฮฏฮถฮตฯฮฑฮน ฯฯฮฟ ฮฑฯฯฮตฮฏฮฟ ฮผฮฑฯ index.js. ฮฃฮต ฮบฮฌฮธฮต ฮตฮฏฮดฮฟฯ ฯ ฮดฮฟฮบฮนฮผฮฎ ฮผฮฟฮฝฮฌฮดฮฑฯ, ฮญฮฝฮฑ ฮตฮนฮบฮฟฮฝฮนฮบฯ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮฑฮฝฯฮนฯฯฮฟฯฯฯฮตฯฮตฮน ฮญฮฝฮฑ ฮตฮนฮบฮฟฮฝฮนฮบฯ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฯฮฟ ฮฟฯฮฟฮฏฮฟ ฮธฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮทฮธฮตฮฏ ฯฯฮฑฮณฮผฮฑฯฮนฮบฮฌ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ. ฮฯ ฯฯ ฯฮฟ ฮตฮนฮบฮฟฮฝฮนฮบฯ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮธฮฑ ฯฯฮฟฯฮฟฮผฮฟฮนฯฯฮตฮน ฯฯฮฑฮณฮผฮฑฯฮนฮบฮฌ ฯฮท ฯฯ ฮผฯฮตฯฮนฯฮฟฯฮฌ ฯฮฟฯ ฮตฮปฮตฮณฮบฯฮฎ ฮผฮฑฯ.
- BeforeEach(inject(function(_$controller_)) โ ฮงฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮทฮฝ ฮญฮณฯฯ ฯฮท ฯฮฟฯ ฮตฮนฮบฮฟฮฝฮนฮบฮฟฯ ฮฑฮฝฯฮนฮบฮตฮนฮผฮญฮฝฮฟฯ ฯฯฮท ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ, ฮญฯฯฮน ฯฯฯฮต ฮฝฮฑ ฯฯ ฮผฯฮตฯฮนฯฮญฯฮตฯฮฑฮน ฯฯฯฯ ฮฟ ฯฯฮฑฮณฮผฮฑฯฮนฮบฯฯ ฮตฮปฮตฮณฮบฯฮฎฯ.
- var $scope = {}; ฮฯ ฯฯ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑ ฮตฮนฮบฮฟฮฝฮนฮบฯ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฯฮฟฯ ฮดฮทฮผฮนฮฟฯ ฯฮณฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $scope.
- var controller = $controller('AngularJSController', { $scope: $scope }); โ ฮฮดฯ ฮตฮปฮญฮณฯฮฟฯ ฮผฮต ฮณฮนฮฑ ฯฮทฮฝ ฯฯฮฑฯฮพฮท ฮตฮฝฯฯ ฮตฮปฮตฮณฮบฯฮฎ ฮผฮต ฯฮฟ ฯฮฝฮฟฮผฮฑ 'Angular.JSController'. ฮฮดฯ ฮตฮบฯฯฯฮฟฯฮผฮต ฮตฯฮฏฯฮทฯ ฯฮปฮตฯ ฯฮนฯ ฮผฮตฯฮฑฮฒฮปฮทฯฮญฯ ฮฑฯฯ ฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $scope ฯฯฮฟฮฝ ฮตฮปฮตฮณฮบฯฮฎ ฮผฮฑฯ ฯฯฮฟ ฮฑฯฯฮตฮฏฮฟ Index.js ฯฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $scope ฯฯฮฟ ฮฑฯฯฮตฮฏฮฟ ฮดฮฟฮบฮนฮผฮฎฯ ฮผฮฑฯ
- ฮคฮญฮปฮฟฯ, ฯฯ ฮณฮบฯฮฏฮฝฮฟฯ ฮผฮต ฯฮฟ $scope.ID ฮผฮต ฯฮฟ 5
describe('AngularJSController', function() {
beforeEach(module('sampleApp'));
var $controller;
beforeEach(inject(function(_$controller_){
$controller = _$controller_;
}));
describe('$scope.ID', function() {
it('Check the scope object', function() {
var $scope = {};
var controller = $controller('AngularJSController', { $scope: $scope });
expect($scope.ID).toEqual(5);
});
});
});
ฮคฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฯฮตฯฯ ฮธฮฑ ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฯฯฮฟ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฯฮตฯฮนฮฎฮณฮทฯฮทฯ karma ฮบฮฑฮน ฮธฮฑ ฮดฯฯฮตฮน ฯฮฟ ฮฏฮดฮนฮฟ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฮตฯฮนฯฯ ฯฮฏฮฑฯ ฯฯฯฯ ฯฮฑฯฮฟฯ ฯฮนฮฌฯฯฮทฮบฮต ฯฯฮฟ ฯฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ ฮธฮญฮผฮฑ.
ฮฮฟฮบฮนฮผฮฎ ฮฮดฮทฮณฮนฯฮฝ AngularJS
ฮคฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฮดฮฟฮบฮนฮผฯฮฝ ฮบฮฌฯฮผฮฑ ฮญฯฮตฮน ฮตฯฮฏฯฮทฯ ฯฮท ฮดฯ ฮฝฮฑฯฯฯฮทฯฮฑ ฮฝฮฑ ฮดฮฟฮบฮนฮผฮฌฮถฮตฮน ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฮตฯ ฮฟฮดฮทฮณฮฏฮตฯ. ฮฯ ฯฯ ฯฮตฯฮนฮปฮฑฮผฮฒฮฌฮฝฮตฮน ฯฮฑ templateURL ฯฮฟฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮฝฯฮฑฮน ฯฮต ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฮตฯ ฮฟฮดฮทฮณฮฏฮตฯ.
ฮฯ ฮดฮฟฯฮผฮต ฮญฮฝฮฑ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ ฮณฮนฮฑ ฯฮฟ ฯฯฯ ฮผฯฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯฮฟ ฯฮตฯฯฯฮฟฯ ฮผฮต ฮฑฯ ฯฯ.
ฮฃฯฮฟ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฌ ฮผฮฑฯ, ฮธฮฑ ฮฟฯฮฏฯฮฟฯ ฮผฮต ฯฯฯฯฮฑ ฮผฮนฮฑ ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฮท ฮฟฮดฮทฮณฮฏฮฑ ฯฮฟฯ ฮบฮฌฮฝฮตฮน ฯฮฑ ฮฑฮบฯฮปฮฟฯ ฮธฮฑ ฯฯฮฌฮณฮผฮฑฯฮฑ
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฎฯฯฮต ฮผฮนฮฑ ฮปฮตฮนฯฮฟฯ ฯฮณฮนฮบฮฎ ฮผฮฟฮฝฮฌฮดฮฑ AngularJS ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน sampleApp
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฎฯฯฮต ฮผฮนฮฑ ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฮท ฮฟฮดฮทฮณฮฏฮฑ ฮผฮต ฯฮฟ ฯฮฝฮฟฮผฮฑ โ Guru99
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฎฯฯฮต ฮผฮนฮฑ ฯฯ ฮฝฮฌฯฯฮทฯฮท ฯฮฟฯ ฮตฯฮนฯฯฯฮญฯฮตฮน ฮญฮฝฮฑ ฯฯฯฯฯ ฯฮฟ ฮผฮต ฮผฮนฮฑ ฮตฯฮนฮบฮญฯฮฑ ฮบฮตฯฮฑฮปฮฏฮดฮฑฯ ฯฮฟฯ ฮตฮผฯฮฑฮฝฮฏฮถฮตฮน ฯฮฟ ฮบฮตฮฏฮผฮตฮฝฮฟ "This is AngularJS Testing".
var sampleApp = AngularJS.module('sampleApp',[]);
sampleApp.directive('Guru99', function () {
return {
restrict: 'E',
replace: true,
template: '<h1>This is AngularJS Testing</h1>'
};
});
ฮฯฮปฮนฯ ฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮบฯฮดฮนฮบฮฑฯ ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฮผฮต ฮตฯฮนฯฯ ฯฮฏฮฑ, ฯฮฟ ฮตฯฯฮผฮตฮฝฮฟ ฮฒฮฎฮผฮฑ ฮธฮฑ ฮฎฯฮฑฮฝ ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฯฮตฯฮต ฮผฮนฮฑ ฮดฮฟฮบฮนฮผฮฑฯฯฮนฮบฮฎ ฯฮตฯฮฏฯฯฯฯฮท ฮณฮนฮฑ ฮฝฮฑ ฮดฮนฮฑฯฯฮฑฮปฮฏฯฮตฯฮต ฯฯฮน ฮฟ ฮบฯฮดฮนฮบฮฑฯ ฮญฯฮตฮน ฮณฯฮฑฯฯฮตฮฏ ฮบฮฑฮน ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฯฯฯฯฮฌ. ฮ ฮบฯฮดฮนฮบฯฯ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฯฯฯฯ ฯฮฑฮฏฮฝฮตฯฮฑฮน ฯฮฑฯฮฑฮบฮฌฯฯ
ฮ ฮบฯฮดฮนฮบฮฑฯ ฮธฮฑ ฮฒฯฮฏฯฮบฮตฯฮฑฮน ฯฮต ฮญฮฝฮฑ ฮพฮตฯฯฯฮนฯฯฯ ฮฑฯฯฮตฮฏฮฟ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน DirectiveTest.js, ฯฮฟ ฮฟฯฮฟฮฏฮฟ ฮธฮฑ ฯฮฟฯฮฟฮธฮตฯฮทฮธฮตฮฏ ฯฯฮฟฮฝ ฯฮฌฮบฮตฮปฮฟ ฮดฮฟฮบฮนฮผฮฎฯ. ฮ ฯฮฑฯฮฑฮบฮฌฯฯ ฮบฯฮดฮนฮบฮฑฯ ฮบฮฌฮฝฮตฮน ฮฑฯฮปฯฯ ฯฮฑ ฮฑฮบฯฮปฮฟฯ ฮธฮฑ ฮฒฮฑฯฮนฮบฮฌ ฯฯฮฌฮณฮผฮฑฯฮฑ
- ฮ ฯฮนฮฝ ฮฑฯฯ ฮบฮฌฮธฮต ฯฯ ฮฝฮฌฯฯฮทฯฮท โ ฮฯ ฯฮฎ ฮท ฯฯ ฮฝฮฌฯฯฮทฯฮท ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮท ฯฯฯฯฯฯฮท ฯฮทฯ ฮผฮฟฮฝฮฌฮดฮฑฯ Angular JS ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน ยซsampleAppยป ฯฯฮนฮฝ ฮฑฯฯ ฯฮท ฮดฮฟฮบฮนฮผฮฑฯฯฮนฮบฮฎ ฮตฮบฯฮญฮปฮตฯฮท.
- ฮ ฯ ฯฮทฯฮตฯฮฏฮฑ $compile ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฯฮท ฯฯฮฝฯฮฑฮพฮท ฯฮทฯ ฮฟฮดฮทฮณฮฏฮฑฯ. ฮฯ ฯฮฎ ฮท ฯ ฯฮทฯฮตฯฮฏฮฑ ฮตฮฏฮฝฮฑฮน ฯ ฯฮฟฯฯฮตฯฯฮนฮบฮฎ ฮบฮฑฮน ฯฯฮญฯฮตฮน ฮฝฮฑ ฮดฮทฮปฯฮธฮตฮฏ ฮญฯฯฮน ฯฯฯฮต ฯฮฟ Angular.JS ฮฝฮฑ ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฯฮท ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฎฯฮตฮน ฮณฮนฮฑ ฮฝฮฑ ฯฯ ฮฝฯฮฌฮพฮตฮน ฯฮทฮฝ ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฮท ฮฟฮดฮทฮณฮฏฮฑ ฮผฮฑฯ.
- ฮคฮฟ $rootscope ฮตฮฏฮฝฮฑฮน ฯฮฟ ฮบฯฯฮนฮฟ ฯฮตฮดฮฏฮฟ ฮฟฯฮฟฮนฮฑฯฮดฮฎฯฮฟฯฮต ฮตฯฮฑฯฮผฮฟฮณฮฎฯ AngularJS.JS. ฮฯฮฟฯ ฮผฮต ฮดฮตฮน ฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $scope ฯฮฟฯ ฮตฮปฮตฮณฮบฯฮฎ ฯฮต ฯฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฑ ฮบฮตฯฮฌฮปฮฑฮนฮฑ. ฮฮฟฮนฯฯฮฝ, ฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ $scope ฮตฮฏฮฝฮฑฮน ฯฮฟ ฮธฯ ฮณฮฑฯฯฮนฮบฯ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฯฮฟฯ ฮฑฮฝฯฮนฮบฮตฮนฮผฮญฮฝฮฟฯ $rootscope. ฮ ฮปฯฮณฮฟฯ ฯฮฟฯ ฮดฮทฮปฯฮฝฮตฯฮฑฮน ฮตฮดฯ ฮตฮฏฮฝฮฑฮน ฮตฯฮตฮนฮดฮฎ ฮบฮฌฮฝฮฟฯ ฮผฮต ฮผฮนฮฑ ฮฑฮปฮปฮฑฮณฮฎ ฯฮต ฮผฮนฮฑ ฯฯฮฑฮณฮผฮฑฯฮนฮบฮฎ ฮตฯฮนฮบฮญฯฮฑ HTML ฯฯฮฟ DOM ฮผฮญฯฯ ฯฮทฯ ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฮทฯ ฮผฮฑฯ ฮฟฮดฮทฮณฮฏฮฑฯ. ฮฉฯ ฮตฮบ ฯฮฟฯฯฮฟฯ , ฯฯฮญฯฮตฮน ฮฝฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฎฯฮฟฯ ฮผฮต ฯฮทฮฝ ฯ ฯฮทฯฮตฯฮฏฮฑ $rootscope ฮท ฮฟฯฮฟฮฏฮฑ ฯฯฮฑฮณฮผฮฑฯฮนฮบฮฌ ฮฑฮบฮฟฯฮตฮน ฮฎ ฮณฮฝฯฯฮฏฮถฮตฮน ฯฯฯฮต ฯฯ ฮผฮฒฮฑฮฏฮฝฮตฮน ฮฟฯฮฟฮนฮฑฮดฮฎฯฮฟฯฮต ฮฑฮปฮปฮฑฮณฮฎ ฮผฮญฯฮฑ ฮฑฯฯ ฮญฮฝฮฑ ฮญฮณฮณฯฮฑฯฮฟ HTML.
- var ฯฯฮฟฮนฯฮตฮฏฮฟ = $compile(" โ) โ ฮงฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฮฝฮฑ ฮตฮปฮญฮณฮพฮฟฯ ฮผฮต ฮตฮฌฮฝ ฮท ฮฟฮดฮทฮณฮฏฮฑ ฮผฮฑฯ ฮตฮณฯฮญฮตฯฮฑฮน ฯฯฯฯ ฮธฮฑ ฮญฯฯฮตฯฮต. ฮคฮฟ ฯฮฝฮฟฮผฮฑ ฯฮทฯ ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฮทฯ ฮฟฮดฮทฮณฮฏฮฑฯ ฮผฮฑฯ ฮตฮฏฮฝฮฑฮน Guru99 ฮบฮฑฮน ฮณฮฝฯฯฮฏฮถฮฟฯ ฮผฮต ฮฑฯฯ ฯฮฟ ฮบฮตฯฮฌฮปฮฑฮนฮฟ ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฯฮฝ ฮฟฮดฮทฮณฮนฯฮฝ ฮผฮฑฯ ฯฯฮน ฯฯฮฑฮฝ ฮท ฮฟฮดฮทฮณฮฏฮฑ ฮตฮนฯฮฑฯฮธฮตฮฏ ฯฯฮฟ HTML ฮผฮฑฯ, ฮธฮฑ ฮตฮณฯฯ ฮธฮตฮฏ ฯฯ " '. ฮฉฯ ฮตฮบ ฯฮฟฯฯฮฟฯ , ฮฑฯ ฯฮฎ ฮท ฮดฮฎฮปฯฯฮท ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฮฝฮฑ ฮณฮฏฮฝฮตฮน ฮฑฯ ฯฯฯ ฮฟ ฮญฮปฮตฮณฯฮฟฯ.
- expect(element.html()).toContain("This is AngularJS Testing") โ ฮงฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฮฑฮน ฮณฮนฮฑ ฮฝฮฑ ฮดฯฯฮตฮน ฮตฮฝฯฮฟฮปฮฎ ฯฯฮท ฯฯ ฮฝฮฌฯฯฮทฯฮท expect ฯฯฮน ฯฯฮญฯฮตฮน ฮฝฮฑ ฮฒฯฮตฮน ฯฮฟ ฯฯฮฟฮนฯฮตฮฏฮฟ (ฯฯฮทฮฝ ฯฮตฯฮฏฯฯฯฯฮฎ ฮผฮฑฯ ฯฮทฮฝ ฮตฯฮนฮบฮญฯฮฑ div) ฮฝฮฑ ฯฮตฯฮนฮญฯฮตฮน ฯฮฟ ฮบฮตฮฏฮผฮตฮฝฮฟ innerHTML ฯฮฟฯ "This is AngularJS Testingโ.
describe('Unit testing directives', function() {
var $compile,
$rootScope;
beforeEach(module('sampleApp'));
beforeEach(inject(function(_$compile_, _$rootScope_){
$compile = _$compile_;
$rootScope = _$rootScope_;
}));
it('Check the directive', function() {
// Compile a piece of HTML containing the directive
var element = $compile("<ng-Guru99></ng-Guru99>")($rootScope);
$rootScope.$digest();
expect(element.html()).toContain("This is AngularJS Testing");
});
});
ฮคฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฯฮตฯฯ ฮธฮฑ ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฯฯฮฟ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฯฮตฯฮนฮฎฮณฮทฯฮทฯ karma ฮบฮฑฮน ฮธฮฑ ฮดฯฯฮตฮน ฯฮฟ ฮฏฮดฮนฮฟ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฮตฯฮนฯฯ ฯฮฏฮฑฯ ฯฯฯฯ ฯฮฑฯฮฟฯ ฯฮนฮฌฯฯฮทฮบฮต ฯฯฮฟ ฯฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ ฮธฮญฮผฮฑ.
ฮฮฟฮบฮนฮผฮญฯ ฮฑฯฯ ฮฌฮบฯฮท ฯฮต ฮฌฮบฯฮท ฮตฯฮฑฯฮผฮฟฮณฯฮฝ AngularJS JS
ฮคฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฮดฮฟฮบฮนฮผฯฮฝ ฮบฮฌฯฮผฮฑ ฮผฮฑฮถฮฏ ฮผฮต ฮญฮฝฮฑ ฯฮปฮฑฮฏฯฮนฮฟ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน ฮผฮฟฮนฯฮฟฮณฮฝฯฮผฯฮฝฮนฮฟ ฮญฯฮตฮน ฯฮท ฮปฮตฮนฯฮฟฯ ฯฮณฮนฮบฯฯฮทฯฮฑ ฮดฮฟฮบฮนฮผฮฎฯ ฮผฮนฮฑฯ ฮดฮนฮฑฮดฮนฮบฯฯ ฮฑฮบฮฎฯ ฮตฯฮฑฯฮผฮฟฮณฮฎฯ ฮฑฯฯ ฮฌฮบฯฮท ฯฮต ฮฌฮบฯฮท.
ฮฯฮฟฮผฮญฮฝฯฯ, ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮผฯฮฝฮฟ ฮดฮฟฮบฮนฮผฮฎ ฮฟฮดฮทฮณฮนฯฮฝ ฮบฮฑฮน ฮตฮปฮตฮณฮบฯฯฮฝ, ฮฑฮปฮปฮฌ ฮบฮฑฮน ฮดฮฟฮบฮนฮผฮฎ ฮฟฯฮฟฮนฮฟฯ ฮดฮฎฯฮฟฯฮต ฮฌฮปฮปฮฟฯ ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮผฯฮฑฮฝฮฏฮถฮตฯฮฑฮน ฯฮต ฮผฮนฮฑ ฯฮตฮปฮฏฮดฮฑ HTML.
ฮฯ ฮดฮฟฯฮผฮต ฮญฮฝฮฑ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ ฮณฮนฮฑ ฯฮฟ ฯฯฯ ฮผฯฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯฮฟ ฯฮตฯฯฯฮฟฯ ฮผฮต ฮฑฯ ฯฯ.
ฮฃฯฮฟ ฯฮฑฯฮฑฮบฮฌฯฯ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฌ ฮผฮฑฯ, ฮธฮฑ ฮญฯฮฟฯ ฮผฮต ฮผฮนฮฑ ฮตฯฮฑฯฮผฮฟฮณฮฎ AngularJS ฯฮฟฯ ฮดฮทฮผฮนฮฟฯ ฯฮณฮตฮฏ ฮญฮฝฮฑฮฝ ฯฮฏฮฝฮฑฮบฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮทฮฝ ฮฟฮดฮทฮณฮฏฮฑ ng-repeat.
- ฮฮทฮผฮนฮฟฯ ฯฮณฮฟฯฮผฮต ฯฯฯฯฮฑ ฮผฮนฮฑ ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน "tutorial" ฮบฮฑฮน ฯฮทฯ ฮตฮบฯฯฯฮฟฯฮผฮต ฮผฮตฯฮนฮบฮฌ ฮถฮตฯฮณฮท ฮบฮปฮตฮนฮดฮนฯฮฝ-ฯฮนฮผฯฮฝ ฯฮต ฮญฮฝฮฑ ฮฒฮฎฮผฮฑ. ฮฮฌฮธฮต ฮถฮตฯฮณฮฟฯ ฮบฮปฮตฮนฮดฮนฮฟฯ-ฯฮนฮผฮฎฯ ฮธฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮทฮธฮตฮฏ ฯฯ ฮดฮตฮดฮฟฮผฮญฮฝฮฑ ฮบฮฑฯฮฌ ฯฮทฮฝ ฮตฮผฯฮฌฮฝฮนฯฮท ฯฮฟฯ ฯฮฏฮฝฮฑฮบฮฑ. ฮฃฯฮท ฯฯ ฮฝฮญฯฮตฮนฮฑ, ฮท ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ tutorial ฮตฮบฯฯฯฮตฮฏฯฮฑฮน ฯฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ scope ฮญฯฯฮน ฯฯฯฮต ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฯฯฮฟฯฮฒฮฌฯฮนฮผฮท ฮฑฯฯ ฯฮทฮฝ ฮฌฯฮฟฯฮฎ ฮผฮฑฯ.
- ฮฮนฮฑ ฮบฮฌฮธฮต ฯฮตฮนฯฮฌ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮฟฮฝ ฯฮฏฮฝฮฑฮบฮฑ, ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮผฮต ฯฮทฮฝ ฮฟฮดฮทฮณฮฏฮฑ ng-repeat. ฮฯ ฯฮฎ ฮท ฮฟฮดฮทฮณฮฏฮฑ ฯฮตฯฮฝฮฌ ฮผฮญฯฮฑ ฮฑฯฯ ฮบฮฌฮธฮต ฮถฮตฯฮณฮฟฯ ฮบฮปฮตฮนฮดฮนฮฟฯ-ฯฮนฮผฮฎฯ ฯฯฮฟ ฮฑฮฝฯฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฯฮฟฯ tutorial scope ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮท ฮผฮตฯฮฑฮฒฮปฮทฯฮฎ ptutor.
- ฮคฮญฮปฮฟฯ, ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮผฮต ฯฮฟ ฮตฯฮนฮบฮญฯฮฑ ฮผฮฑฮถฮฏ ฮผฮต ฯฮฑ ฮถฮตฯฮณฮท ฯฮนฮผฯฮฝ ฮบฮปฮตฮนฮดฮนฮฟฯ (ptutor.Name ฮบฮฑฮน ptutor.Description) ฮณฮนฮฑ ฮฝฮฑ ฮตฮผฯฮฑฮฝฮฏฯฮตฯฮต ฯฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฮฑ ฯฮฟฯ ฯฮฏฮฝฮฑฮบฮฑ.
<table >
<tr ng-repeat="ptutor in tutorial">
<td>{{ ptutor.Name }}</td>
<td>{{ ptutor.Description }}</td>
</tr>
</table>
</div>
<script type="text/javascript">
var app = AngularJS.module('DemoApp', []);
app.controller('DemoController', function($scope) {
$scope.tutorial =[
{Name: "Controllers" , Description : "Controllers in action"},
{Name: "Models" , Description : "Models and binding data"},
{Name: "Directives" , Description : "Flexibility of Directives"}
] });
ฮฯฮปฮนฯ ฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮบฯฮดฮนฮบฮฑฯ ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฮผฮต ฮตฯฮนฯฯ ฯฮฏฮฑ, ฯฮฟ ฮตฯฯฮผฮตฮฝฮฟ ฮฒฮฎฮผฮฑ ฮธฮฑ ฮฎฯฮฑฮฝ ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฯฮตฯฮต ฮผฮนฮฑ ฮดฮฟฮบฮนฮผฮฑฯฯฮนฮบฮฎ ฯฮตฯฮฏฯฯฯฯฮท ฮณฮนฮฑ ฮฝฮฑ ฮดฮนฮฑฯฯฮฑฮปฮฏฯฮตฯฮต ฯฯฮน ฮฟ ฮบฯฮดฮนฮบฮฑฯ ฮญฯฮตฮน ฮณฯฮฑฯฯฮตฮฏ ฮบฮฑฮน ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฯฯฯฯฮฌ. ฮ ฮบฯฮดฮนฮบฯฯ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฯฯฯฯ ฯฮฑฮฏฮฝฮตฯฮฑฮน ฯฮฑฯฮฑฮบฮฌฯฯ
ฮ ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ ฯฯฯฮบฮตฮนฯฮฑฮน ฯฯฮทฮฝ ฯฯฮฑฮณฮผฮฑฯฮนฮบฯฯฮทฯฮฑ ฮฝฮฑ ฮดฮฟฮบฮนฮผฮฌฯฮตฮน ฯฮทฮฝ ฮฟฮดฮทฮณฮฏฮฑ ng-repeat ฮบฮฑฮน ฮฝฮฑ ฮดฮนฮฑฯฯฮฑฮปฮฏฯฮตฮน ฯฯฮน ฯฮตฯฮนฮญฯฮตฮน 3 ฯฮตฮนฯฮญฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฯฯ ฮธฮฑ ฮญฯฯฮตฯฮต ฮฑฯฯ ฯฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฯฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ.
ฮ ฯฯฯฮฑ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮดฮนฮฑฯฯฮฑฮปฮฏฯฮฟฯ ฮผฮต ฯฯฮน ฯ ฯฮฌฯฯฮตฮน ฮท ฮฑฮบฯฮปฮฟฯ ฮธฮท ฯฯฮฟฯฯฯฮธฮตฯฮท
ฮฮณฮบฮฑฯฮฑฯฯฮฎฯฯฮต ฯฮท ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท ฮผฮฟฮนฯฮฟฮณฮฝฯฮผฯฮฝฮนฮฟฯ ฮผฮญฯฯ npm. ฮฯ ฯฯ ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฮณฮฏฮฝฮตฮน ฮตฮบฯฮตฮปฯฮฝฯฮฑฯ ฯฮทฮฝ ฯฮฑฯฮฑฮบฮฌฯฯ ฮณฯฮฑฮผฮผฮฎ ฯฯฮท ฮณฯฮฑฮผฮผฮฎ ฮตฮฝฯฮฟฮปฯฮฝ
"npm install protractor"
ฮ ฮบฯฮดฮนฮบฯฯ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ ฮผฮฑฯ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฯฯฯฯ ฯฮฑฮฏฮฝฮตฯฮฑฮน ฯฮฑฯฮฑฮบฮฌฯฯ.
ฮ ฮบฯฮดฮนฮบฮฑฯ ฮธฮฑ ฮฒฯฮฏฯฮบฮตฯฮฑฮน ฯฮต ฮญฮฝฮฑ ฮพฮตฯฯฯฮนฯฯฯ ฮฑฯฯฮตฮฏฮฟ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน CompleteTest.js , ฯฮฟ ฮฟฯฮฟฮฏฮฟ ฮธฮฑ ฯฮฟฯฮฟฮธฮตฯฮทฮธฮตฮฏ ฯฯฮฟฮฝ ฯฮฌฮบฮตฮปฮฟ ฮดฮฟฮบฮนฮผฮฎฯ. ฮ ฯฮฑฯฮฑฮบฮฌฯฯ ฮบฯฮดฮนฮบฮฑฯ ฮบฮฌฮฝฮตฮน ฮฑฯฮปฯฯ ฯฮฑ ฮฑฮบฯฮปฮฟฯ ฮธฮฑ ฮฒฮฑฯฮนฮบฮฌ ฯฯฮฌฮณฮผฮฑฯฮฑ
- ฮ ฮปฮตฮนฯฮฟฯ ฯฮณฮฏฮฑ ฯฮฟฯ ฯฯฮฟฮณฯฮฌฮผฮผฮฑฯฮฟฯ ฯฮตฯฮนฮฎฮณฮทฯฮทฯ ฯฮฑฯฮญฯฮตฯฮฑฮน ฮฑฯฯ ฯฮท ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท ฮผฮฟฮนฯฮฟฮณฮฝฯฮผฯฮฝฮนฮฟฯ ฮบฮฑฮน ฯฯฮฟฯฯฮฟฮธฮญฯฮตฮน ฯฯฮน ฮท ฮตฯฮฑฯฮผฮฟฮณฮฎ AngularJS (ฮผฮต ฯฮฟฮฝ ฮบฯฮดฮนฮบฮฑ ฯฮฟฯ ฯฮฑฮฏฮฝฮตฯฮฑฮน ฯฮฑฯฮฑฯฮฌฮฝฯ) ฮตฮบฯฮตฮปฮตฮฏฯฮฑฮน ฯฯฮท ฮดฮนฮตฯฮธฯ ฮฝฯฮท URL ฯฮฟฯ ฮนฯฯฯฯฮฟฯฮฟฯ ฮผฮฑฯ โ http://localhost:8080/Guru99/
- var list=element.all(by.repeater(ptutor in tutorial')); -ฮฯ ฯฮฎ ฮท ฮณฯฮฑฮผฮผฮฎ ฮบฯฮดฮนฮบฮฑ ฮปฮฑฮผฮฒฮฌฮฝฮตฮน ฯฯฮทฮฝ ฯฯฮฑฮณฮผฮฑฯฮนฮบฯฯฮทฯฮฑ ฯฮทฮฝ ฮฟฮดฮทฮณฮฏฮฑ ng-repeat, ฮท ฮฟฯฮฟฮฏฮฑ ฯฯ ฮผฯฮปฮทฯฯฮฝฮตฯฮฑฮน ฮฑฯฯ ฯฮฟฮฝ ฮบฯฮดฮนฮบฮฑ ยซptutor in tutorialยป. ฮคฮฟ ฯฯฮฟฮนฯฮตฮฏฮฟ ฮบฮฑฮน ฯฮฟ by.repeater ฮตฮฏฮฝฮฑฮน ฮตฮนฮดฮนฮบฮญฯ ฮปฮญฮพฮตฮนฯ-ฮบฮปฮตฮนฮดฮนฮฌ ฯฮฟฯ ฯฮฑฯฮญฯฮฟฮฝฯฮฑฮน ฮฑฯฯ ฯฮท ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท ฮผฮฟฮนฯฮฟฮณฮฝฯฮผฯฮฝฮนฮฟฯ ฯฮฟฯ ฮผฮฑฯ ฮตฯฮนฯฯฮญฯฮตฮน ฮฝฮฑ ฮปฮฑฮผฮฒฮฌฮฝฮฟฯ ฮผฮต ฮปฮตฯฯฮฟฮผฮญฯฮตฮนฮตฯ ฮณฮนฮฑ ฯฮทฮฝ ฮฟฮดฮทฮณฮฏฮฑ ng-repeat.
- expect(list.count()).toEqual(3); โ ฮคฮญฮปฮฟฯ, ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮฟฯฮผฮต ฯฮท ฯฯ ฮฝฮฌฯฯฮทฯฮท ฮฑฮฝฮฑฮผฮฟฮฝฮฎฯ ฮณฮนฮฑ ฮฝฮฑ ฮดฮฟฯฮผฮต ฯฯฮน ฯฮฝฯฯฯ ฮปฮฑฮผฮฒฮฌฮฝฮฟฯ ฮผฮต 3 ฯฯฮฟฮนฯฮตฮฏฮฑ ฯฮฟฯ ฯฯ ฮผฯฮปฮทฯฯฮฝฮฟฮฝฯฮฑฮน ฯฯฮฟฮฝ ฯฮฏฮฝฮฑฮบฮฌ ฮผฮฑฯ ฯฯ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฯฮทฯ ฮฟฮดฮทฮณฮฏฮฑฯ ng-repeat.
Describe('Unit testing end to end', function() {
beforeEach(function() {
browser.get('http://localhost:8080/Guru99/');
})
it('Check the ng directive', function() {
var list=element.all(by.repeater(ptutor in tutorial'));
expect(list.count()).toEqual(3); }); });
ฮคฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฯฮตฯฯ ฮธฮฑ ฮตฮบฯฮตฮปฮตฯฯฮตฮฏ ฯฯฮฟ ฯฯฯฮณฯฮฑฮผฮผฮฑ ฯฮตฯฮนฮฎฮณฮทฯฮทฯ karma ฮบฮฑฮน ฮธฮฑ ฮดฯฯฮตฮน ฯฮฟ ฮฏฮดฮนฮฟ ฮฑฯฮฟฯฮญฮปฮตฯฮผฮฑ ฮตฯฮนฯฯ ฯฮฏฮฑฯ ฯฯฯฯ ฯฮฑฯฮฟฯ ฯฮนฮฌฯฯฮทฮบฮต ฯฯฮฟ ฯฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ ฮธฮญฮผฮฑ.
ฮ ฮตฯฮฏฮปฮทฯฮท
- ฮ ฮดฮฟฮบฮนฮผฮฎ ฯฯฮฟ AngularJS ฮตฯฮนฯฯ ฮณฯฮฌฮฝฮตฯฮฑฮน ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮฟ ฯฮปฮฑฮฏฯฮนฮฟ karma, ฮญฮฝฮฑ ฯฮปฮฑฮฏฯฮนฮฟ ฯฮฟฯ ฮญฯฮตฮน ฮฑฮฝฮฑฯฯฯ ฯฮธฮตฮฏ ฮฑฯฯ ฯฮทฮฝ ฮฏฮดฮนฮฑ ฯฮทฮฝ Google.
- ฮคฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฮบฮฌฯฮผฮฑ ฮตฮณฮบฮฑฮธฮฏฯฯฮฑฯฮฑฮน ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮฟฮฝ ฮดฮนฮฑฯฮตฮนฯฮนฯฯฮฎ ฯฮฑฮบฮญฯฯฮฝ ฮบฯฮผฮฒฮฟฯ . ฮฮน ฮฒฮฑฯฮนฮบฮญฯ ฮผฮฟฮฝฮฌฮดฮตฯ ฯฮฟฯ ฮฑฯฮฑฮนฯฮตฮฏฯฮฑฮน ฮฝฮฑ ฮตฮณฮบฮฑฯฮฑฯฯฮฑฮธฮฟฯฮฝ ฮณฮนฮฑ ฯฮท ฮฒฮฑฯฮนฮบฮฎ ฮดฮฟฮบฮนฮผฮฎ ฮตฮฏฮฝฮฑฮน ฯฮฟ karma, ฯฮฟ karma-chrome-launcher, ฯฮฟ karma-jasmine ฮบฮฑฮน ฯฮฟ karma-cli.
- ฮฮน ฮดฮฟฮบฮนฮผฮญฯ ฮตฮฏฮฝฮฑฮน ฮณฯฮฑฮผฮผฮญฮฝฮตฯ ฯฮต ฮพฮตฯฯฯฮนฯฯฮฌ ฮฑฯฯฮตฮฏฮฑ js, ฯฮฟฯ ฯฯ ฮฝฮฎฮธฯฯ ฯฯ ฮปฮฌฯฯฮฟฮฝฯฮฑฮน ฯฯฮฟฮฝ ฯฮฌฮบฮตฮปฮฟ ฮดฮฟฮบฮนฮผฮฎฯ ฯฮทฯ ฮตฯฮฑฯฮผฮฟฮณฮฎฯ ฯฮฑฯ. ฮ ฮธฮญฯฮท ฮฑฯ ฯฯฮฝ ฯฯฮฝ ฮฑฯฯฮตฮฏฯฮฝ ฮดฮฟฮบฮนฮผฮฎฯ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮฑฮฝฮฑฯฮญฯฮตฯฮฑฮน ฯฮต ฮญฮฝฮฑ ฮตฮนฮดฮนฮบฯ ฮฑฯฯฮตฮฏฮฟ ฮดฮนฮฑฮผฯฯฯฯฯฮทฯ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน karma.conf.js. ฮคฮฟ Karma ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏ ฮฑฯ ฯฯ ฯฮฟ ฮฑฯฯฮตฮฏฮฟ ฮดฮนฮฑฮผฯฯฯฯฯฮทฯ ฮบฮฑฯฮฌ ฯฮทฮฝ ฮตฮบฯฮญฮปฮตฯฮท ฯฮปฯฮฝ ฯฯฮฝ ฮดฮฟฮบฮนฮผฯฮฝ.
- ฮคฮฟ Karma ฮผฯฮฟฯฮตฮฏ ฮฝฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮทฮธฮตฮฏ ฮณฮนฮฑ ฯฮท ฮดฮฟฮบฮนฮผฮฎ ฮตฮปฮตฮณฮบฯฯฮฝ ฮบฮฑฮน ฯฯฮฟฯฮฑฯฮผฮฟฯฮผฮญฮฝฯฮฝ ฮฟฮดฮทฮณฮนฯฮฝ ฮตฯฮฏฯฮทฯ.
- ฮฮนฮฑ ฮผฮนฮฑ ฮฟฮปฮฟฮบฮปฮทฯฯฮผฮญฮฝฮท ฮดฮฟฮบฮนฮผฮฎ web, ฮญฮฝฮฑ ฮฌฮปฮปฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฯฮฟฯ ฮฟฮฝฮฟฮผฮฌฮถฮตฯฮฑฮน ฮผฮฟฮนฯฮฟฮณฮฝฯฮผฯฮฝฮนฮฟ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮตฮณฮบฮฑฯฮฑฯฯฮฑฮธฮตฮฏ ฮผฮญฯฯ ฯฮฟฯ Node, ฮดฮนฮฑฯฮตฮฏฯฮนฯฮทฯ ฯฮฑฮบฮญฯฯฮฝ. ฮฯ ฯฯ ฯฮฟ ฯฮปฮฑฮฏฯฮนฮฟ ฯฮฑฯฮญฯฮตฮน ฮตฮนฮดฮนฮบฮญฯ ฮผฮตฮธฯฮดฮฟฯ ฯ ฯฮฟฯ ฮผฯฮฟฯฮฟฯฮฝ ฮฝฮฑ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฮทฮธฮฟฯฮฝ ฮณฮนฮฑ ฯฮฟฮฝ ฮญฮปฮตฮณฯฮฟ ฯฮปฯฮฝ ฯฯฮฝ ฯฯฮฟฮนฯฮตฮฏฯฮฝ ฯฮต ฮผฮนฮฑ ฯฮตฮปฮฏฮดฮฑ HTML.

