鍍金池/ 教程/ HTML/ 測試
JavaScript 環(huán)境
計(jì)時(shí)器
Native 模塊(iOS)
入門
在設(shè)備上運(yùn)行
ProgressBarAndroid
iOS 應(yīng)用程序狀態(tài)
網(wǎng)絡(luò)
ToolbarAndroid
測試
輔助功能
網(wǎng)絡(luò)信息
DrawerLayoutAndroid
樣式表
手勢應(yīng)答系統(tǒng)
與現(xiàn)有的應(yīng)用程序集成
樣式
教程
不透明觸摸
調(diào)試 React Native 應(yīng)用
iOS 活動指示器
導(dǎo)航器
無反饋觸摸
動畫布局
Web 視圖
鏈接庫
像素比率
React Native 官網(wǎng)首頁介紹
iOS 導(dǎo)航器
交互管理器
全景響應(yīng)器
SwitchAndroid
TabBarIOS.Item
相機(jī)滾動
ToastAndroid
iOS 震動
BackAndroid
文本輸入
iOS 選擇器
應(yīng)用程序注冊表
iOS 開關(guān)
滾動視圖
iOS 日期選擇器
iOS 警告
iOS 鏈接
視圖
圖片
列表視圖
異步存儲
Native UI 組件(Android)
iOS 滑塊
Map 視圖
高亮觸摸
iOS 推送通知
文本
定位
iOS 狀態(tài)欄
Native UI 組件(iOS)
在設(shè)備上運(yùn)行(Android)
Native 模塊(Android)
Flexbox
已知 Issues
iOS 選項(xiàng)卡
安裝 Android 運(yùn)行環(huán)境

測試

運(yùn)行測試和貢獻(xiàn)

React Native 回購有幾個(gè)你可以運(yùn)行的測試,來驗(yàn)證你沒有用PR引起擬合。這些測試是用 Travis 持續(xù)集成系統(tǒng)運(yùn)行的,并自動的向你的 PR 發(fā)布結(jié)果。你也可以在 IntegrationTest 和在 Xcode 中的 UIExplorer 應(yīng)用中,使用 cmd+U 本地運(yùn)行。您可以通過在命令行的 npm test 運(yùn)行 jest 測試。但是我們目前還沒有很大的測試覆蓋率,所以大多數(shù)的變化仍將需要大量手工驗(yàn)證,但如果你想幫助我們提高我們的測試覆蓋率,我們是非常歡迎的!

Jest 測試

Jest 測試是 JS-only 測試,運(yùn)行在節(jié)點(diǎn)命令行上。測試位于它們測試的文件 __tests__ 目錄中,還有一個(gè)對不是位于故障隔離和最大速度測試下的積極模擬功能的強(qiáng)調(diào)。你可以用來自 react-native 根的 npm test 運(yùn)行現(xiàn)有的 React Native jest 測試,并且我們鼓勵你為你想做出貢獻(xiàn)的任何組件添加你自己的測試?;臼纠埧?getImageSource-test.js。

集成測試

React Native 提供設(shè)施,使測試需要 native 和 JS 組件進(jìn)行跨橋交互的集成組件更容易。兩個(gè)主要組件是 RCTTestRunnerRCTTestModuleRCTTestRunner 設(shè)置了 React Native 環(huán)境并提供設(shè)備運(yùn)行測試,正如在 Xcode 中的 XCTestCase(runTest:module 是最簡單的方法)。RCTTestModuleTestModule 一樣,通過 NativeModules 被導(dǎo)出到 JS 中。測試寫在 JS 中,當(dāng)它們完成時(shí),必須調(diào)用 TestModule.markTestCompleted(),否則測試將超時(shí)失敗。測試失敗主要是通過拋出異常表示。它還可以用 runTest:module:initialProps:expectErrorRegex:runTest:module:initialProps:expectErrorBlock: 測試錯誤條件,它預(yù)計(jì)拋出一個(gè)錯誤并驗(yàn)證錯誤與提供的標(biāo)準(zhǔn)相匹配。對于例子的使用,請看 IntegrationTestHarnessTest.jsIntegrationTestsTests.m

快照測試

常見的一種集成測試是快照測試。這些測試渲染一個(gè)組件,并使用 TestModule.verifySnapshot() 驗(yàn)證參考圖像的屏幕快照,在幕后使用 FBSnapshotTestCase 庫。參考圖像通過在 RCTTestRunner 中設(shè)置 recordMode = YES 被記錄下來,然后運(yùn)行測試??煺赵?32 位和 64 位系統(tǒng)中略有不同,且在不同的操作系統(tǒng)版本中也有所不同,所以建議你使用正確的配置運(yùn)行測試。同時(shí)強(qiáng)烈建議所有網(wǎng)絡(luò)數(shù)據(jù)被模擬,以及其他潛在的麻煩的依賴性?;臼纠埧?SimpleSnapshotTest。