我正在玩Xcode 7 beta中引入的新UI測試。在我的一個UI測試場景中,我需要添加一些代碼,這些代碼與我的測試文件setup()
中的Simulator -> Reset Content and Settings
相同,它是XCTestCase
。復位是否可以通過編程完成?或者,我們可以在測試代碼中模仿工廠重置對應用程序的影響嗎?Objective C - 在測試文件中以編程方式「重置內容和設置」
2
A
回答
1
不完全編程,但你可以寫一個bash要刪除的文件:
${user.home}/Library/Application Support/iPhone Simulator/${simulator.version}
這將清除模擬器的設置。
我的理解是,你將無法從你的應用程序,因爲應用程序是沙箱。
0
通常人們都在使用shell腳本或蘋果腳本。但是,使用硬重置絕對沒有必要。
您不應該關心其他應用程序中的數據,您應該只關心應用程序中的數據。您可以隨時在測試開始時刪除您的應用程序數據(文件,用戶默認值)。那麼,爲什麼你應該做一個硬重置?
更好的解決方案是嘲笑。如果你的測試假設,例如
NSUserDefaults
中的一些變量沒有設置,你不必關心存儲在那裏的實際值,只是模擬你的實現使用的方法(例如objectForKey:
並讓它返回nil
。
相關問題
- 1. 如何以編程方式在「隱藏」中設置文件C
- 2. 以編程方式在Silverlight DataGrid中設置內容
- 3. 以編程方式在Swift中設置內容過濾器3
- 4. 以編程方式配置Log4NetLoggerFactoryAdapter(重試)
- 5. 嘗試以編程方式設置LayoutWidth
- 6. OS X上的Objective-C:以編程方式設置插座
- 7. 以編程方式將底欄設置爲Objective-c
- 8. Objective-C:以編程方式將文件權限設置爲當前用戶
- 9. 以編程方式設置ViewFlipper體重
- 10. 如何以編程方式設置/編輯webview的內容
- 11. 以編程方式將重力設置爲HorizontalScrollView的垂直居中內容
- 12. 以編程方式設置iPhone設置
- 13. 在C++中以編程方式設置Firemonkey控件字體
- 14. 以編程方式設置ColumnDefinition和RowDefinition
- 15. 如何以編程方式在android中編輯文件內容
- 16. 以編程方式設置用戶位置的協調Xcode/Objective-C
- 17. 如何在Objective C中以編程方式設置集合視圖?
- 18. 以編程方式設置itemcommand事件
- 19. 以編程方式設置Android組件
- 20. 以編程方式設置事件
- 21. 如何以編程方式設置Viewbox的內容?
- 22. Vue.js - 以編程方式設置插槽內容
- 23. Android:以編程方式將ListView設置爲對話內容
- 24. 以編程方式設置發佈頁面內容
- 25. 以編程方式設置標籤的內容
- 26. 以編程方式配置IPhone設置
- 27. 在xml文件中以編程方式設置整數值
- 28. 如何以編程方式在Eclipse中設置源文件夾?
- 29. 以編程方式在log4j屬性文件中設置值?
- 30. 在Objective-C中以編程方式創建.pem文件?
重置內容和設置提供了一種簡單的方式來模仿一整套真實生活中的用例,它不僅爲我擦除了鑰匙串數據(通過應用程序卸載持久保存),還可靠地呈現「允許MyApp訪問您的相機?「或」允許MyApp向您發送通知?「系統彈出窗口,如果用戶回覆一次,它將再也不會顯示 – SeaJelly
我需要能夠測試一個空的聯繫人列表,並且沒有對我的應用的聯繫人權限。 –