Tôi đã viết một gói (http://github.com/anntzer/parsedcmd) chạy với cả Python2 và Python3. Tuy nhiên, tôi đã phải viết các bài kiểm tra đơn vị riêng biệt (py.test) cho Python2 và Python3 (chủ yếu là vì tôi muốn thử nghiệm các tính năng bổ sung của Python3, trong các đối số chỉ từ khoá cụ thể), vì vậy tôi có test_py2.py
và test_py3.py
trong gói phụ test
. Bây giờ, nếu tôi chạy, hãy đọc số py.test2 mypkg
, test_py2
, nhưng test_py3
không thành công với số SyntaxError
. Tương tự như vậy, đối với py.test3 mypkg
, test_py3
vượt qua nhưng test_py2
không thành công (tôi có thể thực hiện việc này mặc dù đây chỉ là vấn đề của StringIO
khi được chuyển đến io
).py.test chạy Python2 và Python3
tôi có thể thiết kế các gói con test
để import mypkg.test
chỉ nhập khẩu đúng phiên bản của các bài kiểm tra, nhưng dường như py.test không quan tâm - nó chỉ thấy hai tập tin phù hợp với test_*
và lấy tất cả các bài kiểm tra ở cả trong số họ, bỏ qua những gì __init__.py
yêu cầu anh ta nhập.
Vì vậy, ngay bây giờ, tôi phải thực hiện cả hai py.test2 mypkg/test/test_py2.py
và py.test3 mypkg/test/test_py3.py
. Có cách nào để thiết lập toàn bộ điều đó để py.test2 mypkg
và py.test3 mypkg
sẽ "hoạt động" không?
Cảm ơn.