py.test-2.7 - Trực tuyến trên đám mây

Đây là lệnh py.test-2.7 có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


pytest - cách sử dụng pytest

GỌI PY.TEST XUYÊN QUA TRĂN -M PY.TEST


Mới trong phiên bản 2.0.

Nếu bạn sử dụng Python-2.5 trở lên, bạn có thể gọi thử nghiệm thông qua trình thông dịch Python từ
dòng lệnh:

trăn -m pytest […]

Điều này tương đương với việc gọi tập lệnh dòng lệnh py.test [...] trực tiếp.

NHẬN CỨU GIÚP ON PHIÊN BẢN, TÙY CHỌN TÊN, MÔI TRƯỜNG BIẾN


py.test --version # cho biết pytest được nhập từ đâu
py.test --fixtures # hiển thị các đối số của hàm nội sẵn có sẵn
py.test -h | --help # hiển thị trợ giúp về các tùy chọn dòng lệnh và tệp cấu hình

DỪNG LẠI SAU CÁC ĐẦU TIÊN (HOẶC N) THẤT ​​BẠI


Để dừng quá trình thử nghiệm sau (N) lỗi đầu tiên:

py.test -x # dừng sau lần thất bại đầu tiên
py.test --maxfail = 2 # dừng sau hai lần thất bại

ĐẶC ĐIỂM KỸ THUẬT NGHIỆM / LỰA CHỌN NGHIỆM


Một số tùy chọn chạy thử nghiệm:

py.test test_mod.py # chạy các bài kiểm tra trong mô-đun
py.test somepath # chạy tất cả các bài kiểm tra bên dưới somepath
py.test -k stringexpr # chỉ chạy các bài kiểm tra với các tên phù hợp với
# "biểu thức chuỗi", ví dụ: "MyClass chứ không phải phương thức"
# sẽ chọn TestMyClass.test_something
# nhưng không phải TestMyClass.test_method_simple
py.test test_mod.py::test_func # chỉ chạy các bài kiểm tra phù hợp với "ID nút",
# ví dụ: "test_mod.py::test_func" sẽ chọn
# chỉ test_func trong test_mod.py
py.test test_mod.py::TestClass::test_method # chạy một phương pháp trong
# một lớp duy nhất

Nhập 'pkg' và sử dụng vị trí hệ thống tệp của nó để tìm và chạy thử nghiệm:

py.test --pyargs pkg # chạy tất cả các bài kiểm tra được tìm thấy bên dưới thư mục của pypkg

SỬA ĐỔI TRĂN TÌM LẠI IN


Ví dụ để sửa đổi in theo dõi:

py.test --showlocals # hiển thị các biến cục bộ trong theo dõi lại
py.test -l # hiển thị các biến cục bộ (phím tắt)

py.test --tb = long # định dạng theo dõi thông tin mặc định
py.test --tb = native # định dạng thư viện chuẩn Python
py.test --tb = short # một định dạng theo dõi ngắn hơn
py.test --tb = line # chỉ một dòng cho mỗi lỗi

RƠI ĐẾN PDB (TRƯNG NGƯỜI NỢ) ON THẤT ​​BẠI


Python đi kèm với một trình gỡ lỗi Python nội bộ được gọi là PDB. người khó tính cho phép một người vào
các PDB nhắc qua một tùy chọn dòng lệnh:

py.test --pdb

Điều này sẽ gọi trình gỡ lỗi Python khi gặp lỗi. Thường thì bạn có thể chỉ muốn làm
điều này cho lần kiểm tra thất bại đầu tiên để hiểu một tình huống thất bại nhất định:

py.test -x --pdb # giảm xuống PDB khi lỗi đầu tiên, sau đó kết thúc phiên kiểm tra
py.test --pdb --maxfail = 3 # giảm xuống PDB cho ba lỗi đầu tiên

Lưu ý rằng bất kỳ trường hợp thất bại nào, thông tin ngoại lệ sẽ được lưu trữ trên sys.last_value,
sys.last_typesys.last_traceback. Khi sử dụng tương tác, điều này cho phép một người có thể thả vào
gỡ lỗi sau khi chết bằng bất kỳ công cụ gỡ lỗi nào. Người ta cũng có thể truy cập thủ công ngoại lệ
thông tin, ví dụ:

>>> nhập hệ thống
>>> sys.last_traceback.tb_lineno
42
>>> sys.last_value
AssertionError ('kết quả khẳng định == "ok"',)

LẬP A BẬT MÍ / AKA SET_TRACE ()


Nếu bạn muốn đặt một điểm ngắt và nhập pdb.set_trace () bạn có thể sử dụng một người trợ giúp:

nhập khẩu pytest
def test_ Chức năng ():
...
pytest.set_trace () # gọi trình gỡ lỗi và truy tìm PDB

Trước phiên bản pytest 2.0.0, bạn chỉ có thể nhập PDB theo dõi nếu bạn tắt tính năng chụp
trên dòng lệnh qua py.test -s. Trong các phiên bản sau, pytest tự động vô hiệu hóa
chụp đầu ra khi bạn nhập PDB truy tìm:

· Việc chụp ảnh đầu ra trong các bài kiểm tra khác không bị ảnh hưởng.

· Bất kỳ kết quả kiểm tra trước nào đã được ghi lại và sẽ được xử lý như vậy.

· Bất kỳ đầu ra nào sau đó được tạo ra trong cùng một thử nghiệm sẽ không được ghi lại và thay vào đó sẽ nhận được
gửi trực tiếp đến sys.stdout. Lưu ý rằng điều này đúng ngay cả đối với đầu ra thử nghiệm xảy ra
sau khi bạn thoát khỏi tương tác PDB phiên truy tìm và tiếp tục với bài kiểm tra thông thường
chạy.

Kể từ phiên bản pytest 2.4.0, bạn cũng có thể sử dụng Python gốc nhập khẩu pdb; pdb.set_trace ()
gọi để vào PDB truy tìm mà không cần phải sử dụng pytest.set_trace () giấy gói hoặc
vô hiệu hóa rõ ràng tính năng thu đầu ra của pytest thông qua py.test -s.

SƠ LƯỢC THI CHẤP HÀNH THỜI GIAN


Để nhận danh sách 10 thời lượng kiểm tra chậm nhất:

py.test --durations = 10

SÁNG TẠO JUNITXML FORMAT CÁC TẬP TIN


Để tạo các tệp kết quả có thể được đọc bởi Hudson hoặc tích hợp liên tục khác
máy chủ, sử dụng lời kêu gọi này:

py.test --junitxml = đường dẫn

để tạo tệp XML tại con đường.

record_xml_property
Mới trong phiên bản 2.8.

Nếu bạn muốn ghi lại thông tin bổ sung để kiểm tra, bạn có thể sử dụng record_xml_property
vật cố định:

chức năng def test (record_xml_property):
record_xml_property ("example_key", 1)
khẳng định 0

Điều này sẽ thêm một thuộc tính bổ sung example_key = "1" để tạo ra trường hợp thử nghiệm nhãn:







Chú ý:
Đây là một tính năng thử nghiệm và giao diện của nó có thể được thay thế bằng một thứ gì đó khác
mạnh mẽ và chung trong các phiên bản tương lai. Mỗi chức năng sẽ được giữ nguyên,
Tuy nhiên.

Hiện tại, nó không hoạt động khi được sử dụng với pytest-xdist plugin.

Cũng xin lưu ý rằng việc sử dụng tính năng này sẽ phá vỡ bất kỳ xác minh giản đồ nào. Cái này
có thể là một vấn đề khi được sử dụng với một số máy chủ CI.

SÁNG TẠO KẾT QUẢ FORMAT CÁC TẬP TIN


Để tạo tệp văn bản thuần túy mà máy có thể đọc được, bạn có thể đưa ra:

py.test --resultlog = đường dẫn

và xem nội dung tại con đường vị trí. Các tệp như vậy được sử dụng, ví dụ như bởi Thử nghiệm PyPy
trang web để hiển thị kết quả kiểm tra qua một số bản sửa đổi.

GỬI THI BÁO CÁO ĐẾN ONLINE PASTEBIN Dịch vụ


Tạo a URL cho mỗi thử nghiệm thất bại:

py.test --pastebin = fail

Thao tác này sẽ gửi thông tin chạy thử nghiệm tới dịch vụ Dán từ xa và cung cấp URL cho mỗi
thất bại. Bạn có thể chọn các bài kiểm tra như bình thường hoặc thêm vào ví dụ -x nếu bạn chỉ muốn gửi một cái
thất bại cụ thể.

Tạo a URL cho a toàn bộ thử nghiệm Phiên đăng nhập:

py.test --pastebin = tất cả

Hiện chỉ dán vào http://bpaste.net dịch vụ được thực hiện.

TIÊU DIỆT PLUGINS


Để tắt tải các plugin cụ thể tại thời điểm gọi, hãy sử dụng -p tùy chọn cùng với
tiền tố tại:.

Ví dụ: để tắt tải plugin tài liệu, chịu trách nhiệm thực thi học thuyết
kiểm tra từ các tệp văn bản, gọi py.test như thế này:

py.test -p no: doctest

GỌI PY.TEST TỪ TRĂN


Mới trong phiên bản 2.0.

Bạn có thể gọi người khó tính từ mã Python trực tiếp:

pytest.main ()

điều này hoạt động như thể bạn sẽ gọi "py.test" từ dòng lệnh. Nó sẽ không tăng
SystemExit nhưng thay vào đó hãy trả lại exitcode. Bạn có thể chuyển vào các tùy chọn và đối số:

pytest.main (['- x', 'mytestdir'])

hoặc chuyển vào một chuỗi:

pytest.main ("- x mytestdir")

Bạn có thể chỉ định các plugin bổ sung cho pytest.main:

# nội dung của myinvoke.py
nhập khẩu pytest
lớp MyPlugin:
def pytest_sessionfinish (bản thân):
print ("*** kết thúc báo cáo chạy thử nghiệm")

pytest.main ("- qq", plugins = [MyPlugin ()])

Chạy nó sẽ cho thấy rằng Plugin của tôi đã được thêm vào và hook của nó đã được gọi:

$ trăn myinvoke.py
*** báo cáo chạy thử nghiệm kết thúc

Sử dụng py.test-2.7 trực tuyến bằng các dịch vụ onworks.net



Các chương trình trực tuyến Linux & Windows mới nhất