Angular CLI終極參考指南
如果翻譯內(nèi)容對你產(chǎn)品困擾,可查看原文The Ultimate Angular CLI Reference Guide
運(yùn)行單元測試
在你的程序最初創(chuàng)建以后,Angular CLI自動安裝Karma test runner
當(dāng)新增一個功能(組件管挟、指令眉尸、管道等)到程序中寺旺,你可以使用--spec選項(xiàng)來確認(rèn)你是否讓Angular CLI創(chuàng)建相應(yīng)的.spect.ts文件來做功能的單元測試燕少。
測試文件與功能在同一目錄下,方便你找到他們
src目錄下的所有單元測試文件要以.spec.ts結(jié)尾盆赤,這樣就可以在程序中一次運(yùn)行全部單元測試珠叔,運(yùn)行全部單元測試,可以:
$ ng test
控制臺會輸出如下內(nèi)容:
[karma]: No captured browser, open http://localhost:9876/
[karma]: Karma v1.2.0 server started at http://localhost:9876/
[launcher]: Launching browser Chrome with unlimited concurrency
[launcher]: Starting browser Chrome
[Chrome 53.0.2785 (Mac OS X 10.12.0)]: Connected on socket /#9KHc7IVVulsBRJWgAAAA with id 95795517
Chrome 53.0.2785 (Mac OS X 10.12.0): Executed 6 of 6 SUCCESS (0.151 secs / 0.141 secs)
同時會打開新的瀏覽器窗口
該命令做了什么弟劲?
- Angular CLI 加載 angular-cli.json。
- Angular CLI 按照 angular-cli.json中指定的配置運(yùn)行 Karma姥芥,karma.conf.js默認(rèn)定位到項(xiàng)目的根目錄兔乞。
- Karma 按照 Karma配置打開瀏覽器,默認(rèn)打開Google Chrome瀏覽器凉唐。
- Karma 使用 Karma配置的測試框架控制瀏覽器運(yùn)行src/test.ts文件庸追。默認(rèn)框架為Jasmine framework。項(xiàng)目創(chuàng)建的時候 src/test.ts文件也被自動創(chuàng)建了台囱。 src/test.ts文件用以預(yù)配置項(xiàng)目測試所必須的代碼淡溯,以及用于運(yùn)行src目錄下所有以spec.ts結(jié)尾的測試文件。
- Karma 將測試結(jié)果輸出到控制臺簿训。
- 當(dāng) Karma 監(jiān)聽到src目錄下文件變化咱娶,重新運(yùn)行第4和第5步。
按crtl+c結(jié)束進(jìn)程强品。
如果你想學(xué)習(xí)更多關(guān)于Angular代碼測試的知識膘侮,可以查閱 Official Angular Testing Guide。
運(yùn)行E2E測試
應(yīng)用程序初始化以后的榛,Angular CLI為你自動安裝了Protractor
運(yùn)行E2E測試琼了,輸入:
$ ng e2e
控制臺輸出:
[10:26:12] I/direct - Using ChromeDriver directly...
[10:26:12] I/launcher - Running 1 instances of WebDriver
Started
Spec started
.
my-app App
? should display message saying app works
1 spec, 0 failures
Finished in 0.55 seconds
Executed 1 of 1 spec SUCCESS in 0.551 sec.
[10:26:13] I/launcher - 0 instance(s) of WebDriver still running
[10:26:13] I/launcher - chrome #01 passed
All end-to-end tests pass.
同時打開新窗口:
該命令做了什么?
- Angular CLI 加載angular-cli.json文件夫晌。
- Angular CLI 安裝angular-cli.json中指定的配置運(yùn)行Protractor雕薪。默認(rèn)應(yīng)用是根目錄下protractor.conf.js 文件昧诱。
- Protractor按照Protractor配置項(xiàng)打開瀏覽器,默認(rèn)打開Google Chrome瀏覽器所袁。
- Protractor通過瀏覽器運(yùn)行e2e目錄下所有以.e2e-spec.ts結(jié)尾的文件盏档。
- Protractor輸出測試結(jié)果到控制臺。
進(jìn)程將在第5步以后自動退出纲熏。
如果你想學(xué)習(xí)更多關(guān)于Andular代碼中E2E測試的知識妆丘,可以查閱 Official Angular Testing Guide 和Protractor 文檔。