2012-02-15 30 views
5

Tôi đang phát triển bộ sưu tập các gói/mô-đun Python (không có tệp thi hành). Cách chính xác/tốt nhất để thiết lập phân cấp tệp để thử nghiệm là gì? Tôi có thể nghĩ đến hai kịch bản:Phân cấp tệp phù hợp để hủy gửi bằng Python

Kịch bản 1:

AllPackages/ 
    package1/ 
     module1-1.py 
     module1-2.py 
    package2/ 
     module2-1.py 
     module2-2.py 
    tests/ 
     package1/ 
      test_module1-1.py 
      test_module1-2.py 
     package2/ 
      test_module2-1.py 
      test_module2-2.py 

Kịch bản 2:

AllPackages/ 
    package1/ 
     module1-1.py 
     module1-2.py 
     tests/ 
      test_module1-1.py 
      test_module1-2.py 
    package2/ 
     module2-1.py 
     module2-2.py 
     tests/ 
      test_module2-1.py 
      test_module2-2.py 

Tôi mới vào unittesting (Tôi biết tôi nên đã làm nó từ lâu rồi) vì vậy tôi m không chắc chắn cách tiếp cận nào tốt hơn và tôi đang tìm kiếm một số lời khuyên từ những người có nhiều kinh nghiệm hơn.

Cảm ơn!

Trả lời

1

Kịch bản thứ 2 cho phép bạn có các gói có thể cắm và được sử dụng ít nhất trong Django framework (để đề cập đến một số cơ quan). Nếu bạn sử dụng mô-đun unittest đơn giản, tiện ích này có tiện ích discover, sẽ tìm thấy tất cả các thử nghiệm bạn có trong thư mục dự án của mình cho dù bạn đã tổ chức chúng như thế nào.

+0

Cảm ơn, đây có vẻ là một giải pháp tốt. Tôi thích rằng nó có thể mở rộng khi tôi thêm nhiều gói và mô-đun hơn. – jlconlin

1

Trường hợp 1 tốt hơn, theo ý kiến ​​của tôi. Nó làm cho mọi thứ dễ dàng hơn khi bạn triển khai, ví dụ. Bạn không muốn triển khai mã thử nghiệm, vì vậy bạn chỉ cần bỏ qua thư mục tests/ trong gói của mình. Cách tiếp cận này sạch hơn nhiều.

Kịch bản 2 là lộn xộn; Tôi không thấy bất kỳ lợi thế nào của việc trộn mã thử nghiệm và mã sản xuất theo cách này.

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