最近在做ios的變異測試,有一部分是需要根據覆蓋率精準推薦單測用例,其中設計到ios的單測,今天我們就聊聊 ios的單測
man xcodebuild
即可檢視xcodebuild所支援的選項
xcodebuild test -workspace '***.xcworkspace' -scheme *** -destination 'platform=ios simulator,id=82d4328f-f862-4bc5-a3b2-41f044e444ab' -enablecodecoverage yes -default-test-execution-time-allowance 0.5 -test-timeouts-enabled yes -maximum-test-execution-time-allowance 0.5 -resultbundlepath '***.xcresult' -only-testing ***/yyy/zzz
-only-testing
和-skip-testing
輸入格式是testtarget[/testclass[/testmethod]]
-destination
可以通過命令instruments -s devices
獲取,選擇符合工程的裝置(因為工程可能會設定最低作業系統要求)
只編譯不執行
xcodebuild build-for-testing ***
只執行不編譯
xcodebuild test-without-building
編譯+執行
xcrun xccov view --archive --file '***' demo.xcresult
並行測試可以同時在多個目標上進行測試。我們可以按下面的方式來在不同測試目標上並行測試:
xcodebuild test
-destination 'platform=ios,name=iphone x'
-destination 'platform=ios,name=ipad'
並行測試最好先把模擬器預先啟動起來,啟動模擬器命令如下:
xcrun instruments -w 模擬器
xcode11.4 增加了執行單元測試的超時引數,在啟用-test-timeouts-enabled 選項後為單個測試配置預設執行時間,請傳遞 -default-test-execution-time-allowance 選項。要對測試的執行時間強加絕對上限(如果它通過executetimeallowance api請求更多時間),請傳遞 -maximum-test-execution-time-allowance 選項。但是在實際的實踐中發現 -maximum-test-execution-time-allowance引數不生效,超時時間永遠是1分鐘 iOS Xcode11建立新工程
1.關於scenedelegate的理解 參考 對於xcode11新工程的建立,多了乙個scenedelegate類,對於這個類的理解其實就是為了實現ipados支援多視窗的結果。對於不需要支援多視窗的專案,完全可以不用考慮這個類,直接刪除,按照之前的建立工程方式建立即可,不知道這樣的理解是不是對的...
11 單元測試
本節 樣例見code utest資料夾 在日常開發中,我們通常需要針對現有的功能進行單元測試,以驗證開發的正確性。在go標準庫中有乙個叫做testing的測試框架,可以進行單元測試,命令是go test 測試檔案通常是以xx test.go命名,放在同一包下面。現在假設現在需求是 完成兩個複數相加,...
可以進行單元測試麼 Task11 單元測試
本節 樣例見code utest資料夾在日常開發中,我們通常需要針對現有的功能進行單元測試,以驗證開發的正確性。在go標準庫中有乙個叫做testing的測試框架,可以進行單元測試,命令是go test 測試檔案通常是以xx test.go命名,放在同一包下面。現在假設現在需求是 完成兩個複數相加,我...