Angular-tdd๋ฅผ ๋ฐฐ์ฐ๋ ค๊ณ ํฉ๋๋ค.
์ด ๋ฒ์ ์ผ๋ก ๋ด ํ
์คํธ๋ ์ ์๋ํฉ๋๋ค
์ข
์์ฑ ๋ฒ์
๊ฐ: 1.4.8
์ต๊ทค๋ฌ ๋ชจ์: 1.4.8
๋
ธ๋: v4.4.5
์นด๋ฅด๋ง-cli: 0.13.22
ํ์ง๋ง ๋ด๊ฐ ์ฌ์ฉํ ๋
๋ฒ์
"๊ฐ๋": "^1.5.7"
"angular-mocks": "^1.5.7"
๊ทธ๊ฒ์ ์ค๋ฅ๋ฅผ ๋์ง๋ค
karma start karma.conf.js
22 06 2016 16:53:04.002:WARN [karma]: No captured browser, open http://localhost:9876/
22 06 2016 16:53:04.012:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
22 06 2016 16:53:04.018:INFO [launcher]: Starting browser Chrome
22 06 2016 16:53:05.959:INFO [Chrome 51.0.2704 (Linux 0.0.0)]: Connected on socket /#Vfy_Fpt6BZ2INRyEAAAA with id 36097936
Chrome 51.0.2704 (Linux 0.0.0) calculator sum 1 + 1 should equal 2 FAILED
TypeError: Function.prototype.bind.apply(...) is not a constructor
at Object.instantiate (/home/malanay/workspace/AngularJs-BDD-101/node_modules/angular/angular.min.js:41:477)
at /home/kiro112/workspace/AngularJs-BDD-101/node_modules/angular/angular.min.js:90:3
at /home/kiro112/workspace/AngularJs-BDD-101/node_modules/angular-mocks/angular-mocks.js:2214:12
at Object.it (/home/kiro112/workspace/AngularJs-BDD-101/tests/calculator.controller.test.js:17:21)
Chrome 51.0.2704 (Linux 0.0.0): Executed 1 of 1 (1 FAILED) (0 secs / 0.027 Chrome 51.0.2704 (Linux 0.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.037 secs / 0.027 secs)
๋ฌธ์ ๋ ๋ฑ๋ฑํ ํ์ดํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ปจํธ๋กค๋ฌ ํด๋์ค์ ํจ์ ์์ฑ์๋ฅผ ์ ์ํ๋ ๊ฒ์
๋๋ค. module.controller์ ๋ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌ๋ ํจ์๊ฐ Foo
๋ผ๊ณ ๊ฐ์ ํ๋ฉด Angular๋ ์ด์ ๋ํด new Foo(...)
๋ฅผ ํธ์ถํฉ๋๋ค. ์ด๋ ES6์ ๋ฑ๋ฑํ ํ์ดํ ๊ตฌ๋ฌธ์์ ๋ถ๋ฒ์
๋๋ค.
@wesleycho ๋ง์ต๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์ธ์คํด์คํํ ์ ์์ด์ผ ํ๋ฏ๋ก(์: new
ํธ์ถ) ํ์ดํ ํจ์( () => {...}
) ๋ฐ ์ฝ์ ๊ฐ์ฒด ๋ฉ์๋( {someMethod() {...}}
)์ ๊ฐ์ ๊ฒ์ ์ปจํธ๋กค๋ฌ์ ์ ํฉํ์ง ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ https://github.com/angular/angular.js/issues/14766#issuecomment -226005516์ ์ฐธ์กฐํ์ธ์.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฌธ์ ๋ ๋ฑ๋ฑํ ํ์ดํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ปจํธ๋กค๋ฌ ํด๋์ค์ ํจ์ ์์ฑ์๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋๋ค. module.controller์ ๋ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌ๋ ํจ์๊ฐ
Foo
๋ผ๊ณ ๊ฐ์ ํ๋ฉด Angular๋ ์ด์ ๋ํดnew Foo(...)
๋ฅผ ํธ์ถํฉ๋๋ค. ์ด๋ ES6์ ๋ฑ๋ฑํ ํ์ดํ ๊ตฌ๋ฌธ์์ ๋ถ๋ฒ์ ๋๋ค.