2013-10-09 16 views
9

Có thể sử dụng Jenkins với XCTest không?Tôi có thể tích hợp Jenkins và XCTest

Có một tập lệnh ruby ​​(OCUnit2JUnit - https://github.com/ciryon/OCUnit2JUnit) phân tích đầu ra OCUnit và tạo tệp XML mà Jenkins có thể phân tích cú pháp.

Có điều gì tương đương để xử lý đầu ra XCTest mới không?

Hiện tại, việc sử dụng tích hợp liên tục của Apple không phải là khả năng.

+4

XCTool có hỗ trợ XCTest và lịch sử tuyệt vời liên quan đến tích hợp Jenkins. – CodaFi

Trả lời

-1

Đây là những gì tôi chạy vào dự án Jenkins của tôi sau khi cài đặt ocunit2junit về xây dựng máy tính của tôi:

xcodebuild test -scheme <my_scheme> -configuration Debug -sdk iphonesimulator7.0 -destination OS=7.0,name="iPhone Retina (4-inch)" | ocunit2junit 

sau đó tôi thêm một báo cáo kết quả kiểm tra JUnit Xuất bản dưới dạng hành động bài xây dựng. Lúc đầu có một chút flake (chỉ tạo các tệp xml khi không có hành động sau khi xây dựng), nhưng sau khi bắt đầu xây dựng trực tiếp trên máy xây dựng của tôi, nó hoạt động.

+0

Cảm ơn bạn đã chia sẻ, nhưng điều này không trả lời được câu hỏi nào cả ... – Jake

+0

Ah bạn đã đúng. Tôi đã đọc sai câu hỏi. – Mark

+0

Hmm, có vẻ như ocunit2junit cũng hỗ trợ XCTest? http://stackoverflow.com/a/23256836/797767 – Mark

1

Bạn cần thêm giai đoạn tạo tập lệnh shell.

Đầu tiên thêm đá quý ocunit2junit vào máy xây dựng:

sudo gem install ocunit2junit 

Sau đó, thêm đoạn mã shell xây dựng giai đoạn và chắc chắn rằng bạn đang ở trong thư mục dự án khi bạn thực thi kịch bản:

xcodebuild -workspace yourWorkSpace.xcworkspace -scheme YourTestsScheme -configuration Debug clean test 2>&1 | ocunit2junit 

Sau đó, hãy đảm bảo thêm hành động xây dựng bài kiểm tra JUnit kết quả kiểm tra lên công việc Jenkins được định cấu hình để tìm đầu ra cho ocunit2junit: **/test-reports/*. Xml

0

cho tôi nó không hoạt động. cũng trên Trang chào mừng Github của Projekt XCTest không được đề cập để được hỗ trợ. Vì vậy, có vẻ như này không được hỗ trợ

3

Hai lựa chọn:

1) ống đầu ra xcodebuild của bạn vào xcpretty và sử dụng định dạng Junit của họ. Sau đó, Jenkins có thể xuất bản điều đó.

B) sử dụng xctool thay vì xcodebuild. Xctool đã xây dựng trong phóng viên Junit bạn có thể chỉ định cho các bài kiểm tra.

Chúng tôi đã thực hiện cả hai và cả hai đều hoạt động tốt trên Jenkins.

+0

@piiluke tôi không thể khởi chạy trình giả lập bằng jenkins. Cậu đã làm thế nào vậy ? –

+0

@HarishGupta dòng lệnh xcodebuild có mọi thứ bạn cần để chạy thử nghiệm. Nếu bạn chỉ muốn khởi chạy trình mô phỏng (không có bất kỳ bối cảnh nào) vì một số lý do, chỉ cần chạy ứng dụng bằng cách sử dụng tập lệnh shell hoặc AppleScript. – plluke

+0

Cảm ơn bạn đã trả lời !! Các trường hợp thử nghiệm của tôi là trường hợp kiểm tra giao diện người dùng yêu cầu trình mô phỏng được chạy.Vì vậy, khi jenkins thực hiện các trường hợp thử nghiệm, nó cần phải bắt đầu giả lập đầu tiên. –

Các vấn đề liên quan