2016-10-08 13 views
7

Tôi đã tạo một dự án rất đơn giản với ngăn xếp. Nó chứa: một thực thi, một thư viện và các mục tiêu thử nghiệm trong tệp cabal liên quan. Khi tôi tải mã vào ghci thông qua stack ghci, tôi không thể truy cập kiểm tra ở đó, ngay cả khi chúng ở trong mô-đun riêng biệt. Có cách nào để sử dụng nó theo cách như vậy không?Cách tải thử nghiệm trong ghci với ngăn xếp

Trả lời

9

Hãy thử stack ghci (your project name):(the test suite name). Sau đó, bạn sẽ có thể nhập main và các thử nghiệm của bạn sẽ chạy.

Ví dụ:

Nếu tập tin dự án .cabal của bạn có giá trị sau:

name: ExampleProject 
... 
test-suite Example-test 

Sau đó các lệnh để chạy sẽ stack ghci ExampleProject:Example-test

(chỉnh sửa được đề xuất bởi @ Chris Stryczynski)

Để xem các thư mục testsrc để chúng được cập nhật khi bạn tải lại với :r, chạy:

stack ghci --ghci-options -isrc --ghci-options -itest ExampleProduct:Example-test 
+1

Cảm ơn bạn! Nó đã làm việc! –

+0

Nếu bạn làm điều này, ': r' sẽ không tải lại các thay đổi đối với lib của bạn. Bạn có biết làm thế nào để làm điều đó để ': r' biên dịch lại các lib và thử nghiệm? –

+0

@SeanClarkHess Có một vài cách để thiết lập kiểm tra. Bạn có thể thiết lập nó bằng cách thêm thư viện mà bạn đang thử nghiệm vào bộ phụ thuộc vào xây dựng bộ kiểm thử, hoặc bạn chỉ có thể thêm thư mục nguồn thư viện vào bộ kiểm thử hs-source-dirs. Tôi * tin * ': r' làm việc với cái sau và không phải là cái cũ, nhưng tôi không chắc chắn. Xin lỗi vì đã mất quá nhiều thời gian để nhận thấy câu hỏi của bạn. – Libby

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