Module doctest tìm kiếm bất kỳ docstrings trong một tập tin và thực hiện bất kỳ mã nhúng trong đó, vì vậy có thể sử dụng doctest cho các lớp học.
Để biết liệu tốt hơn là đặt các tài liệu trong chuỗi tài liệu của lớp hoặc hàm tạo, tôi nghĩ điều đó phụ thuộc vào chính xác những gì bạn đang làm tài liệu.
Nếu chuỗi cung cấp tổng quan chung về lớp học và cách sử dụng nó thì tôi nghĩ tốt hơn nên đặt nó trong lớp.
Nếu chuỗi tài liệu cụ thể về cách tạo các phiên bản của lớp thì nó sẽ theo phương thức __init__
.
Hãy nhớ ý định của doctests chủ yếu là có mã mẫu tự xác thực trong tài liệu, vì vậy IMHO khía cạnh tài liệu nên được ưu tiên hơn khía cạnh thử nghiệm.
Edit:
Trong ví dụ của bạn ở trên không có mã để thực hiện doctest - chạy python test.py -v
sẽ thực thi mã python chính mà chỉ định nghĩa lớp.
Bạn cần phải thêm video này vào cuối file:
if __name__ == "__main__":
import doctest
doctest.testmod()
Ngoài Nếu bạn đang sử dụng Python 2.6 hoặc mới hơn chạy nó với:
python -m doctest -v test.py
Nguồn
2010-04-25 12:36:55
Là một mặt lưu ý, luôn kế thừa từ 'object' chứ không phải là không có gì để bạn có đang sử dụng * mới các lớp kiểu *. –
Ngoại trừ trong python 3, nơi chỉ có các lớp kiểu mới và 'đối tượng' được ngụ ý không có bố mẹ được khai báo. – Daenyth