2013-03-14 30 views
5

Trong một ứng dụng đường ray tôi đang phát triển (trên OS-X), tôi đang tìm chạy bộ kiểm tra thông qua rspec khóa lên thường xuyên. Nó không xảy ra mọi lúc. Tôi đã thử thêm --format documentation khi chạy bộ để xem liệu nó có xảy ra ở cùng một nơi mọi lúc và không.Quá trình Rspec treo ở những nơi khác nhau, quá trình không thể bị giết. Cách chẩn đoán?

Tôi đã cố gắng giết quá trình với kill -9. Sau đó nó đổi tên thành (ruby) với trạng thái quá trình là ?E. Điều này link cho thấy rằng quá trình này bị chặn đang chờ cuộc gọi hệ thống kết thúc. Tôi phải khởi động lại máy của tôi mỗi khi điều này xảy ra để giết quá trình này.

Tôi đã thử cài đặt lại rvm, ruby, mysql và imagemagick. Dự án này đang sử dụng gem tưởng tượng (thông qua mini_magick), và tôi nghi ngờ rằng nó có thể là một trong những lệnh này đang gây ra rspec để chặn. Tôi đã thử thêm các câu lệnh puts xung quanh mỗi lệnh mini_magick để đảm bảo chúng hoàn thành việc thực thi và tất cả đều ổn.

Tôi đang tìm kiếm các đề xuất về cách chẩn đoán vấn đề này.

+0

Sử dụng công tắc '-e' để chỉ chạy các thông số kỹ thuật nhất định dựa trên mẫu bạn cung cấp. Chạy 'rspec -h' để biết thêm thông tin. – iain

+0

Sự cố dường như không xảy ra khi chạy các thông số kỹ thuật riêng lẻ hoặc một tập nhỏ các thông số kỹ thuật (tệp đơn), mà là khi chạy toàn bộ bộ thử nghiệm. Tôi đang tìm một cách để gỡ lỗi những gì quá trình bị chặn trên? – MAckerman

+0

Tôi nghĩ rằng bạn sẽ cần phải đăng ít nhất một số thông số kỹ thuật của bạn, ít nhất sau đó nó có thể để có được một ý tưởng về những gì họ đang cố gắng để làm. Ngoài ra, hãy kiểm tra xem thông số kỹ thuật của bạn có đang chạy không theo thứ tự ngẫu nhiên hay không. Nếu bạn đã sử dụng RSpec để tạo tệp spec_helper thì nó sẽ thêm thứ tự ngẫu nhiên làm mặc định. – iain

Trả lời

0

Có thể sự cố của bạn là lỗi phụ thuộc vào đơn đặt hàng, bạn có thể chuyển hạt giống và thứ tự sẽ vẫn nhất quán. RSpec in ra số ngẫu nhiên mà nó sử dụng để tạo hạt ngẫu nhiên. Sử dụng số này để chạy rspec với cùng một thứ tự --order rand:3455

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