2012-11-13 15 views
9

Tôi đang sử dụng python tox để chạy python unittest cho một số phiên bản của python, nhưng các trình thông dịch python này không phải tất cả có sẵn trên tất cả các máy hoặc nền tảng mà tôi đang chạy độc tố.Làm thế nào để thuyết phục độc tố python để chạy thử nghiệm chỉ cho các thông dịch viên python có sẵn?

Làm cách nào tôi có thể định cấu hình độc tố để nó chỉ chạy thử nghiệm khi có trình biên dịch python.

Ví dụ về tox.ini:

[tox] 
envlist=py25,py27 

[testenv] 
... 
[testenv:py25] 
... 

Vấn đề lớn là tôi muốn có một danh sách các môi trường trăn đó là tính năng tự động phát hiện.

+0

Nó đã không làm điều đó? Tôi nhớ lại đó là phát hiện thiếu thông dịch viên và bỏ qua các bài kiểm tra liên quan (khá nhanh quá). – delnan

Trả lời

11

Kể từ phiên bản Tox 1.7.2, bạn có thể vượt qua cờ --skip-missing-interpreters để đạt được hành vi này. Bạn cũng có thể đặt skip_missing_interpreters=true trong tệp tox.ini của mình. Thông tin thêm here.

[tox] 
envlist = 
    py24, py25, py26, py27, py30, py31, py32, py33, py34, jython, pypy, pypy3 
skip_missing_interpreters = 
    true 
-2

độc tính sẽ hiển thị Lỗi nếu không tìm thấy thông dịch viên. Câu hỏi được đưa ra nếu có trạng thái "SKIPPED" và làm cho độc tố trả lại kết quả thành công "0". Điều này có lẽ nên được kích hoạt một cách rõ ràng thông qua một tùy chọn dòng lệnh. Nếu bạn đồng ý, hãy gửi một sự cố tại số http://bitbucket.org/hpk42/tox.

+1

Tôi đã thêm một yêu cầu tính năng https://bitbucket.org/hpk42/tox/issue/59/allow-tox-to-ignore-missing-python Tx – sorin

+0

Bạn có thể đề nghị sử dụng SO cho hầu hết các câu hỏi liên quan đến độc tố/pytest - như tùy chọn hỗ trợ chính. Nó tốt hơn nhiều so với bất kỳ danh sách gửi thư nào. Tuy nhiên, danh sách gửi thư có sử dụng nó. – sorin

+1

tôi nghĩ rằng tôi đã giới thiệu nó, ít nhất là cho pytest. Chỉ báo trước là câu trả lời tốt 3 năm trước có thể không còn tốt/hợp lệ nữa. – hpk42

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