Tôi đang viết bài kiểm tra cho một lớp tải hình ảnh và thực hiện một số thao tác màu. Hình ảnh được tải vớiTải hình ảnh thử nghiệm để kiểm tra đơn vị
UIImage* image = [UIImage imageNamed:imageName];
Nếu tôi chạy ứng dụng mọi thứ đều tốt và hình ảnh được tải như mong đợi. Tôi đã thêm một bài kiểm tra đơn vị sẽ sử dụng một hình ảnh thử nghiệm cụ thể để được tải trong khi kiểm tra. Nếu tôi chạy thử nghiệm, hình ảnh không được tải. Những gì tôi đọc cho đến nay là phương thức imageNamed luôn tải từ thư mục tài nguyên của gói ứng dụng. Làm thế nào tôi có thể thay đổi điều này thành bó thử nghiệm của tôi?
Nhưng điều này có nghĩa là bạn nên thay đổi mã sản xuất cho mục đích thử nghiệm, mà không phải là trường hợp e đặc biệt không phải cho các bộ phận khung được thực hiện để làm cho cuộc sống của bạn dễ dàng hơn;). – trumi
@truni vì vậy ... bạn đang cố gắng thuyết phục tôi rằng bạn đang sử dụng '[UIImage imageNamed:]' cho các phần của khung công tác của bạn, và đó là cách nó nên? sử dụng '[UIImage imageNamed:]' trong ngữ cảnh đó là một ý tưởng thực sự tồi vì một vài lý do. nếu bạn đang viết một khung công tác giả, hãy sử dụng NSBundle và chỉ định hoặc tìm thư mục tài nguyên của khung công tác giả của bạn. sau đó sử dụng một cái gì đó khác với '[UIImage imageNamed:]'. sau đó tạo một gói khác cho biến thể thử nghiệm của bạn và chạy thử nghiệm của bạn trên tất cả các gói. – justin
và trong bối cảnh đó, nó không thay đổi mã cho mục đích thử nghiệm, nó sẽ thay đổi mã của bạn bởi vì mã của bạn đã làm điều sai trái. thay vì tạo một gói mới mọi lúc, bạn có thể chuyển các tham số này đến giao diện của khung công tác của bạn (công khai hoặc riêng tư). – justin