2016-12-23 20 views
8

Tôi đang làm việc trên một bản trình bày về các tùy chọn thử nghiệm python và một trong những công nghệ tôi muốn demo là pytest. Tôi đang lên kế hoạch để làm bài trình bày từ một sổ ghi chép jupyter/ipython. Lý tưởng nhất là tôi muốn có thể xác định một hàm thử nghiệm trong một ô và sau đó sử dụng pytest để chỉ chạy hàm đó; theo cách đó tôi có thể chứng minh các tính năng riêng lẻ của pytest, v.v.Chạy các chức năng thử nghiệm pytest bên trong sổ ghi chép jupyter

Có cách nào để thực hiện việc này không? Không ai trong số các tính năng tương tác tôi thấy trong api pytest dường như phù hợp với các hóa đơn, nhưng tôi chắc chắn không có chuyên gia pytest. Tôi rất vui khi viết một plugin để làm điều đó, vì vậy mọi lời khuyên về cách tiếp cận tốt nhất theo hướng đó sẽ là tuyệt vời.

Tôi đã thấy pytest-ipynb, nhưng dường như không làm những gì tôi cần. Nếu đánh giá đó sai, lời khuyên về cách sử dụng cũng sẽ rất tuyệt vời.

+0

Chỉ để thêm vào dữ liệu tại đây, nhưng không thực sự trả lời câu hỏi, có https://github.com/computationalmodelling/nbval –

Trả lời

7

Tôi đã tạo ipython_pytest cho mục đích này và sử dụng nó trong my PyCon Helsinki 2016 presentation.

Bạn sẽ sử dụng các công cụ như thế này:

%%pytest 

def test_my_stuff(): 
    assert 42 == 42 

Đáng tiếc là tôi không thể tìm thấy một cách để làm cho các chức năng và các lớp được định nghĩa trong máy tính xách tay có sẵn chức năng kiểm tra vào ô kiểm tra. Tôi đánh giá cao nếu ai đó đưa ra một giải pháp cho điều đó.

+0

Điều đó có vẻ hoàn hảo! Đó là những gì tôi nhận được khi không đến hội nghị. – abingham

+0

Tuyệt vời! Tại sao không đánh dấu câu trả lời của tôi cũng được chấp nhận :) – akaihola

+0

Rất tiếc, xin lỗi, tôi đã nghĩ như vậy. – abingham

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