рдирдорд╕реНрддреЗ рд╕рдЪ рдХрд╣реВрдВ, рддреЛ рдореИрдВ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддрд╛ рд╣реВрдВред рдпрд╛рдиреА рдореИрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреЗрддреГрддреНрд╡, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рднреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдЕрдзрд┐рдХ рддрддреНрдХрд╛рд▓ рдФрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдлрд┐рд░ рднреА, рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ, рд░реЗрдбрдорд┐рди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рд╡реЗ рдереЗ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рдмреИрдХрдПрдВрдб рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдорд╛рдВрдЧ рдХреА рдереА)ред
рдЦреИрд░, рдпрд╣ рдЙрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрднреА рднреА рджреЗрд░ рд╕реЗ рдмреЗрд╣рддрд░)ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреИрдХреЗрдВрдб рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ
django
рд╕рд╣рд┐рдд рдкрд░реАрдХреНрд╖рдг рд▓реЗрдЦрди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рдЪреБрдХрд╛ рдерд╛ред рдореИрдВрдиреЗ рддрдм рд╕реЛрдЪрд╛ рдХрд┐ рдХрдВрд╕реЛрд▓ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдирд╣реАрдВред рдЦреИрд░, рдЪреВрдВрдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВ
angular
рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрд╛ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд┐рд╕реА рднреА рддрд░рд╣, рдореЗрд░реА рдЖрдВрдЦ рдХреЗ рдХреЛрдиреЗ рд╕реЗ, рдореИрдВрдиреЗ рдЙрд╕ рдХреНрд╖рдг рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдереЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЦрд░реЛрдВрдЪ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рддрд░рд╣ рдХреА рддреИрдпрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВред рдореЗрд░реА рдкрд╕рдВрдж
рдХреЛрдгреАрдп-рдпреВрдЖрдИ рдкрд░ рдпрд╛ рдЙрд╕рдХреЗ рдПрдХ
рдпреВрдЖрдИ-рдпреВрдЯрд┐рд▓реНрд╕ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдЧрд┐рд░ рдЧрдИред
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рд░реВрдЯ рдкрд░ рдЬрд╛рдПрдВ, рдкрд░реАрдХреНрд╖рдг рдлрд╝реЛрд▓реНрдбрд░ рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ karma.conf.js рдлрд╝рд╛рдЗрд▓
рд╣рд╛рдВ, рдФрд░ рд░реАрдбрдореА рдореЗрдВ рд╣реА рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ
karma start тАФbrowsers тАж.
Google karmajs рдФрд░ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ
karm-runner.imtqy.com/0.8/index.html рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ред рддреЛ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИ?
- рдХрдВрд╕реЛрд▓ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдБ
- рд╣рд░ рдмрдЪрдд рдХреЗ рд╕рд╛рде рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдПрдВ !!!
- рд╡рд┐рднрд┐рдиреНрди рдЪреМрдЦрдЯреЛрдВ рдЬреИрд╕реЗ рдЪрдореЗрд▓реА, рдХреНрдпреВрдирд┐рдЯ рдЖрджрд┐ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
- рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВред (рдЖрднрд╛рд╕реА рд▓реЛрдЧреЛрдВ рд╕рд╣рд┐рдд, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП fantomjs)ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рдереЗред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдЕрдиреНрдп рд▓реЛрдЧ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐
jenkins
рд╕рд╛рде рдПрдХреАрдХрд░рдг
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдПрдХ рддреИрдпрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрд░реЗ рдХрд╛рд░реНрдп:
cd ui-utils sudo apt-get install nodejs
рдмрд╕ рдЗрддрдирд╛ рд╣реАред
рдЕрдм рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЪрд▓рд╛рдПрдВред
karma start --brower=Chrome test/karma.conf.js --auto-watch
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдХреНрд░реЛрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рд╣реЛрдЧрд╛: "рдХрд░реНрдо - рдЬреБрдбрд╝рд╛ рд╣реБрдЖ"
рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рд╣реБрдП, рдФрд░ рд╡реЗ рд╕рднреА рдкрд╛рд╕ рд╣реБрдПред
рдЕрдм рд╣рдо рдХрд┐рд╕реА рднреА рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рд╡реЗ рдореЙрдбреНрдпреВрд▓ / рдореЛрдбреБрд▓рдиреЗрдо / рдкрд░реАрдХреНрд╖рдг / testnameSpec.js рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ
рдХрд┐рд╕реА рднреА рдЕрдиреБрднрд╛рдЧ рдореЗрдВ
it('...', function() {тАж..
рдФрд░ рдЬреЛрдбрд╝реЗрдВ
expect(2).toBe(3); # jasmin,
рд╕рд╣реЗрдЬреЗрдВ, рдХрдВрд╕реЛрд▓ рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦреЗрдВред
............................................................. Chrome 28.0 (Linux) uiMask initialization should not not happen if the mask is undefined or invalid FAILED Expected 2 to be 3. Error: Expected 2 to be 3. at null.<anonymous> (/home/mn/Documents/www/temp/ui-utils/modules/mask/test/maskSpec.js:25:17) .......................................................................... Chrome 28.0 (Linux): Executed 136 of 136 (1 FAILED) (1.016 secs / 0.642 secs)
рд╣рдорд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд░рд╣рд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд░реАрдХреНрд╖рдг рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдпрд╣ рджреЛ рдореЙрдирд┐рдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдПрдХ рдореЗрдВ рдЖрдк рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдкрд░ рдЖрдк рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ рдФрд░ рддреБрд░рдВрдд рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдЪреВрдВрдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╣рд░ рдмрд╛рд░ рдмрдЪрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╡реЗ рдЭрд┐рд▓рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрднреА-рдХрднреА рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдорд┐рд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
karma run
рдпрд╛рдиреА рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рджреМрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
karma start test/karma.konf.js тАФno-auto-wath
рдФрд░ рдлрд┐рд░ рджреВрд╕рд░реЗ рдЯрд░реНрдорд┐рдирд▓ рд░рди рдореЗрдВ
karma run
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд░реАрдХреНрд╖рдг рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рдмреЗрд╢рдХ, рдореИрдВрдиреЗ рдХрд░реНрдо рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рджреВрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рдмрд▓реНрдХрд┐, рдпрд╣ рдкреЛрд╕реНрдЯ рдореИрдВ рдЗрд╕ рджрд┐рд▓рдЪрд╕реНрдк рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рддреЛ рдмрд╕
рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВред
рдкреАрдПрд╕
karma
рд░реВрдк рд╕реЗ, рди рдХреЗрд╡рд▓
angular
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ js рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХреЛрдгреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд░реНрдо рдкрд░ рдкрд░реАрдХреНрд╖рдг рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдкреАрдПрд╕ рдкрд╣рд▓реЗ рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ
testacular
рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛
testacular