Không chạy công cụ dòng lệnh của bạn trong + khởi tạo. Nó được gửi bởi thời gian chạy Objective-C khi lớp được gửi đầu tiên bất kỳ thông báo nào.
Thay vào đó, hãy chạy công cụ dòng lệnh của bạn trong phương pháp +setUp
của thử nghiệm của bạn. (Lưu ý rằng tôi thực sự có nghĩa là +setUp
và không -setUp
;. Rất nhiều folks dường như có một chút mờ về sự khác biệt giữa các phương pháp lớp học và ví dụ)
Trong trường hợp này, một lớpsetUp
phương pháp được gọi bởi OCUnit trước bất kỳ các bài kiểm tra trong một lớp con SenTestCase
đang chạy, và một lớptearDown
phương pháp được gọi bởi OCUnit sau tất cả kiểm tra trong một SenTestCase
lớp con ar chạy.
Vì vậy, dòng chảy chung cho một SenTestCase
lớp con cụ thể là:
- gửi
+setUp
-SomeTestCase
- cho mỗi phương pháp
test
bắt đầu từ năm SomeTestCase
(gọi nó là test___
)
- tạo một đối tượng mới
SomeTestCase
- gửi
-setUp
cho nó
- gửi
-test___
để nó
- gửi
-tearDown
để nó
- phát hành nó
- gửi
+tearDown
để SomeTestCase
cách này, nếu bạn có một cái gì đó mà cần phải được thực hiện trước khi bất kỳ của bạn -test
phương pháp chạy hoặc một thứ cần được thực hiện sau khi tất cả các phương pháp -test
của bạn chạy, có một điểm xác định tại ich bạn có thể làm điều đó xảy ra. (Thay vì dựa vào quản lý bộ nhớ, mà không phải là xác định trong cùng một cách, và có thể không được xác định ở tất cả nếu bạn đang sử dụng GC.)
Nguồn
2010-09-04 10:45:00
Tôi đã không tìm thấy bất cứ điều gì đã nói về phương pháp + setup/+ teardown. Cảm ơn vì sự giác ngộ. – Mel