tôi có phần trong mã của tôi (ví dụ như trong AppDelegate.m) không nên được biên soạn cho các đơn vị xét nghiệm, nhưXcode: macro tiền xử lý cho mã có điều kiện DEBUG/TEST
#ifndef CONFIGURATION_TESTS
// Code that should not be compiled in the Unit Tests
#endif
mục tiêu được thiết lập bởi Xcode khi bạn chọn 'thêm Bài kiểm tra Đơn vị' khi tạo dự án mới. Trong tệp Dự án, tôi đã thêm Cờ CONFIGURATION_TESTS vào các Macro tiền xử lý cho MyAppTests Built-Target nhưng không cho MyApp Target.
Đây là cách được đề xuất trong nhiều bài đăng mà tôi đã tìm thấy.
Nhưng điều này không hiệu quả, vì (tôi đoán) mục tiêu MyAppTests có mục tiêu MyApp là phụ thuộc và vì AppDelegate.m được thêm vào mục tiêu MyApp, nó được biên dịch với cài đặt xây dựng MyApp và do đó, CONFIGURATION_TESTS không được xác định.
Trong đơn vị kiểm tra tập tin vĩ mô được xác định và hoạt động như dự kiến (vì các tập tin thử nghiệm chỉ được xây dựng bởi các MyAppTests nhắm mục tiêu?)
Có ai biết làm thế nào thực hiện điều này, tôi nghĩ đây sẽ là một chung vấn đề ...
Tôi có cùng một vấn đề và không thể tìm ra nó – shawnwall
"này không hoạt động: 1) CONFIGURATION_TEST 3) không bao giờ đúng? 3) hoạt động trong bài kiểm tra đơn vị nhưng không phải trong ứng dụng? 4) hoạt động trong ứng dụng nhưng không phải kiểm tra đơn vị? (hỏi ý muốn biết…) – geowar