Thật không may, trong khi ở một đơn vị kiểm tra (hoặc kiểm tra logic) - bạn không thực sự "trong ứng dụng của bạn" (ví dụ: sandbox của nó). Đó là lý do tại sao các công cụ như NSDocumentDirectory hoặc [NSBundle mainBundle] sẽ không hoạt động.
Nếu nó làm việc cho bạn, tôi chỉ muốn đi trước và tạo ra một "Tài liệu" thư mục trong
/Users/hgpc/Library/Application Support/iPhone Simulator/5.0
Bạn có thể muốn làm điều này trong thiết lập của thử nghiệm của bạn, như vậy bạn có thể xóa nó trong teardown . Nếu điều đó không hiệu quả vì các bài kiểm tra của bạn phụ thuộc vào những thứ đã có trong NSDocumentDirectory của ứng dụng, bạn có thể muốn thử lại một chút, vì tất cả chúng nên được khép kín (tức là cài đặt tất cả các tài nguyên từ bundle in setUp)
Bạn cũng có thể sử dụng NSLibraryDirectory thay cho NSDocumentDirectory, tùy thuộc vào những gì bạn muốn kiểm tra.
Nguồn
2011-12-19 16:19:41
Điều này có vẻ ưa thích hơn các giải pháp khác. Mô phỏng gần hơn Phần lớn những gì đang xảy ra. Làm việc tốt như nhau trên mô phỏng và thiết bị. – lyricsboy
Đây có phải là mặc định bây giờ? Trong một dự án mới trong XCode được tạo với các bài kiểm tra đơn vị thiết lập "Bundle Loader" của mục tiêu UT khớp với ở trên. – Parrots
Vâng, bây giờ là mặc định. –