2015-06-07 13 views
7

Tôi đã học về cách kiểm tra độc tố cho dự án python của tôi.flake8/pylint không thành công trong môi trường kiểm tra Tox, tăng InvocationError

Tôi có (những gì nên được) một tox tập tin khởi tạo khá chuẩn đó trông giống như sau:

[tox] 
envlist=py27,flake8 
... 
[testenv:flake8] 
deps=flake8 
commands=flake8 library # 'library' is temp. name of project 

Tất cả mọi thứ có vẻ bình thường, tất cả các công trình kiểm tra, và thậm chí cả đầu ra flake8 đi qua (đầu ra dưới đây) . Tuy nhiên, độc tố làm tăng InvocationError (nó cũng tương tự cho việc thử nghiệm sử dụng pylint)

flake8 recreate: /Users/shostakovich/projects/project_templates/library/.tox/flake8 
flake8 installdeps: flake8 
flake8 inst: /Users/shostakovich/projects/project_templates/library/.tox/dist/library-0.1.0.zip 
flake8 installed: flake8==2.4.1,library==0.1.0,mccabe==0.3,pep8==1.5.7,pyflakes==0.8.1,wheel==0.24.0 
library/__main__.py:12:1: F401 'os' imported but unused 
library/__main__.py:13:1: F401 're' imported but unused 
... 
ERROR: InvocationError: '/Users/shostakovich/projects/project_templates/library/.tox/flake8/bin/flake8 library' 

Tôi đang chạy độc tố 2.0.2 trên MaxOSX 10.9.5. Vấn đề sẽ biến mất nếu tôi chỉ gọi flake8 hoặc pylint trực tiếp (phiên bản flake8 được hiển thị ở trên).

Trả lời

11

tox không hoạt động!

Kiểm tra mã nguồn flake8 của bạn có phát hiện và do đó tox lần thoát với lỗi, đó là kết quả thử nghiệm của bạn. Khắc phục những phát hiện và việc bạn đã làm!

Bạn có thể định cấu hình flake8 chạy để bỏ qua các mã cụ thể với một phần trong tox.ini. Từ số flake8 docs:

[flake8] 
ignore = E226,E302,E41 

Có nhiều tùy chọn hơn mà bạn có thể quan tâm, ví dụ: select = ... để kiểm tra mã đã bật danh sách trắng.

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