Đây là lệnh cài đặt 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 mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
nosetests - Thử nghiệm tốt hơn cho Python
TỐT HƠN THỬ NGHIỆM CHO TRĂN
SYNOPSIS
nosetests [tùy chọn] [tên]
MÔ TẢ
Mũi tự động thu thập các bài kiểm tra từ các tệp nguồn, thư mục và gói python được tìm thấy
trong thư mục làm việc của nó (mặc định là thư mục làm việc hiện tại). Bất kỳ con trăn nào
tệp nguồn, thư mục hoặc gói phù hợp với biểu thức chính quy testMatch (bằng cách
mặc định: (?: ^ | [b _.-]) [Tt] est) sẽ được thu thập như một bài kiểm tra (hoặc nguồn để thu thập
thử nghiệm). Ngoài ra, tất cả các gói khác được tìm thấy trong thư mục làm việc sẽ được kiểm tra
cho các tệp hoặc thư mục nguồn python phù hợp với testMatch. Gói khám phá giảm dần
tất cả các cách xuống cây, vì vậy package.tests và package.sub.tests và
package.sub.sub2.tests sẽ được thu thập.
Trong thư mục hoặc gói thử nghiệm, bất kỳ tệp nguồn python nào khớp với testMatch sẽ
kiểm tra các trường hợp thử nghiệm. Trong mô-đun thử nghiệm, các hàm và lớp có tên khớp với nhau
Các lớp con testMatch và TestCase với bất kỳ tên nào sẽ được tải và thực thi dưới dạng các bài kiểm tra.
Kiểm tra có thể sử dụng từ khóa khẳng định hoặc nâng cao AssertionErrors để chỉ ra lỗi kiểm tra.
Các lớp con của TestCase có thể làm tương tự hoặc sử dụng các phương pháp TestCase khác nhau có sẵn.
It is quan trọng đến ghi việc này các mặc định hành vi of mũi is đến không bao gồm kiểm tra từ
các tập tin cái nào đang thực thi. Để bao gồm các bài kiểm tra từ các tệp như vậy, hãy xóa bit thực thi của chúng
hoặc sử dụng cờ --exe (xem phần 'Tùy chọn' bên dưới).
Chọn Kiểm tra
Để chỉ định thử nghiệm nào sẽ chạy, hãy chuyển tên thử nghiệm trên dòng lệnh:
chỉ kiểm tra mũi_test_this.py
Tên kiểm tra được chỉ định có thể là tên tệp hoặc mô-đun và có thể tùy chọn chỉ ra kiểm tra
trường hợp để chạy bằng cách tách mô-đun hoặc tên tệp khỏi tên trường hợp thử nghiệm bằng dấu hai chấm.
Tên tệp có thể tương đối hoặc tuyệt đối. Ví dụ:
thử nghiệm mũi test.module
nosetests another.test: TestCase.test_method
nosetests a.test: TestCase
nosetests /path/to/test/file.py:test_ Chức năng
Bạn cũng có thể thay đổi thư mục làm việc nơi mũi tìm kiếm các bài kiểm tra bằng cách sử dụng -w
công tắc điện:
nosetests -w / path / to / tests
Tuy nhiên, lưu ý rằng hỗ trợ cho các đối số nhiều-w hiện không được dùng nữa và sẽ
bị loại bỏ trong một bản phát hành trong tương lai. Kể từ mũi 0.10, bạn có thể nhận được hành vi tương tự bằng cách chỉ định
các thư mục đích không có công tắc -w:
nosetests / path / to / tests / another / path / to / tests
Có thể tùy chỉnh thêm việc lựa chọn và tải thử nghiệm thông qua việc sử dụng
bổ sung.
Kết quả đầu ra của kết quả thử nghiệm giống với đầu ra của Unittest, ngoại trừ các tính năng bổ sung
(các lớp lỗi và các tính năng do plugin cung cấp như bắt và xác nhận đầu ra
nội quan) chi tiết trong các tùy chọn bên dưới.
Cấu hình
Ngoài việc chuyển các tùy chọn dòng lệnh, bạn cũng có thể đưa các tùy chọn cấu hình vào
dự án của bạn thiết lập.cfg hoặc tệp .noserc hoặc mũi.cfg trong thư mục chính của bạn. Trong
bất kỳ tệp cấu hình ini-style tiêu chuẩn nào trong số này, bạn đặt cấu hình nosetests của mình trong
[nosestests] phần. Các tùy chọn giống như trên dòng lệnh, với tiền tố -
loại bỏ. Đối với các tùy chọn là công tắc đơn giản, bạn phải cung cấp một giá trị:
[nosestests]
verbosity = 3
with-doctest = 1
Tất cả các tệp cấu hình được tìm thấy sẽ được tải và kết hợp các tùy chọn của chúng. Bạn có thể
ghi đè tải tệp cấu hình tiêu chuẩn bằng -c tùy chọn.
Sử dụng bổ sung
Có rất nhiều plugin mũi có sẵn thông qua easy_install và các nơi khác. Để sử dụng một plugin,
chỉ cần cài đặt nó. Plugin sẽ thêm các tùy chọn dòng lệnh vào các thiết lập. Để xác minh rằng
plugin được cài đặt, chạy:
nosetests - phần bổ sung
Bạn có thể thêm -v hoặc -vv vào lệnh đó để hiển thị thêm thông tin về từng plugin.
Nếu bạn đang chạy arrow.main () hoặc arrow.run () từ một tập lệnh, bạn có thể chỉ định danh sách
các plugin để sử dụng bằng cách chuyển danh sách các plugin với đối số từ khóa plugin.
0.9 bổ sung
Mũi 1.0 có thể sử dụng MỘT SỐ plugin được viết cho mũi 0.9. Trình quản lý plugin mặc định
chèn một trình bao bọc khả năng tương thích xung quanh 0.9 plugin thích ứng với api plugin đã thay đổi
cuộc gọi. Tuy nhiên, các plugin truy cập nội bộ mũi có thể bị lỗi, đặc biệt nếu chúng
cố gắng truy cập các lớp test case hoặc test suite. Ví dụ: các plugin cố gắng
xác định xem một bài kiểm tra đã vượt qua startTest là một bài kiểm tra riêng lẻ hay một bộ sẽ thất bại, một phần
bởi vì các dãy phòng không còn được chuyển sang startTest và một phần vì có khả năng
plugin đang cố gắng tìm xem thử nghiệm có phải là một phiên bản của một lớp không còn tồn tại hay không.
0.10 và 0.11 bổ sung
Tất cả các plugin được viết cho mũi 0.10 và 0.11 phải hoạt động với mũi 1.0.
Các lựa chọn
-V, --phiên bản
Đầu ra phiên bản mũi và thoát
-P, --bổ sung
Đầu ra danh sách các plugin có sẵn và thoát. Kết hợp với độ chi tiết cao hơn cho
chi tiết hơn
-v = DEFAULT, --verbose = DEFAULT
Dài dòng hơn. [NOSE_VERBOSE]
--verbosity = VERBOSITY
Đặt độ dài; --verbosity = 2 giống với -v
-q = DEFAULT, --quiet = DEFAULT
Ít dài dòng hơn
-c = FILES, --config = FILES
Tải cấu hình từ (các) tệp cấu hình. Có thể được chỉ định nhiều lần; trong đó
trường hợp, tất cả các tệp cấu hình sẽ được tải và kết hợp
-w = WHERE, --where = WHERE
Tìm kiếm các bài kiểm tra trong thư mục này. Có thể được chỉ định nhiều lần. Người đầu tiên
thư mục được truyền vào sẽ được sử dụng làm thư mục làm việc, thay cho thư mục hiện tại
thư mục làm việc, là thư mục mặc định. Những người khác sẽ được thêm vào danh sách các bài kiểm tra
để thực hiện. [NOSE_WHERE]
--py3where = PY3WHERE
Tìm kiếm các bài kiểm tra trong thư mục này trong Python 3.x. Các chức năng giống như 'ở đâu',
nhưng chỉ áp dụng nếu chạy dưới Python 3.x trở lên. Lưu ý rằng, nếu hiện tại dưới
3.x, tùy chọn này thay thế hoàn toàn bất kỳ thư mục nào được chỉ định bằng 'where', vì vậy
tùy chọn 'ở đâu' trở nên không hiệu quả. [NOSE_PY3WHERE]
-m = REGEX, --match = REGEX, --testmatch = REGEX
Tệp, thư mục, tên hàm và tên lớp phù hợp với thông thường này
biểu hiện được coi là thử nghiệm. Mặc định: (?: ^ | [B _./-]) [Tt] est [NOSE_TESTMATCH]
--tests = NAMES
Chạy các bài kiểm tra này (danh sách được phân tách bằng dấu phẩy). Lập luận này hữu ích chủ yếu từ
tập tin cấu hình; trên dòng lệnh, chỉ cần vượt qua các bài kiểm tra để chạy bổ sung
đối số không có công tắc.
-l = DEFAULT, --debug = DEFAULT
Kích hoạt ghi nhật ký gỡ lỗi cho một hoặc nhiều hệ thống. Trình ghi gỡ lỗi có sẵn: mũi,
mũi.importer, mũi.in tra, mũi.plugins, mũi.result và mũi. đục.
Phân tách nhiều tên bằng dấu phẩy.
--debug-log = FILE
Ghi nhật ký thông báo gỡ lỗi vào tệp này (mặc định: sys.stderr)
--logging-config = FILE, --log-config = FILE
Tải cấu hình ghi nhật ký từ tệp này - bỏ qua tất cả các cài đặt cấu hình ghi nhật ký khác.
-Tôi = REGEX, --ignore-files = REGEX
Hoàn toàn bỏ qua bất kỳ tệp nào khớp với biểu thức chính quy này. Được ưu tiên
qua bất kỳ cài đặt hoặc plugin nào khác. Chỉ định tùy chọn này sẽ thay thế tùy chọn mặc định
thiết lập. Chỉ định tùy chọn này nhiều lần để thêm nhiều biểu thức chính quy hơn
[NOSE_IGNORE_FILES]
-e = REGEX, --exclude = REGEX
Không chạy các bài kiểm tra đối sánh với biểu thức chính quy [NOSE_EXCLUDE]
-i = REGEX, --include = REGEX
Biểu thức chính quy này sẽ được áp dụng cho các tệp, thư mục, tên hàm và
tên lớp để có cơ hội bao gồm các bài kiểm tra bổ sung không khớp với TESTMATCH.
Chỉ định tùy chọn này nhiều lần để thêm nhiều biểu thức chính quy [NOSE_INCLUDE]
-NS, --ngừng lại
Dừng chạy thử nghiệm sau lỗi hoặc lỗi đầu tiên
-P, - không có đường dẫn-điều chỉnh
Không thực hiện bất kỳ thay đổi nào đối với sys.path khi tải các bài kiểm tra [NOSE_NOPATH]
--exe Tìm kiếm các bài kiểm tra trong các mô-đun python có thể thực thi được. Hành vi bình thường là loại trừ
các mô-đun thực thi, vì chúng có thể không an toàn khi nhập [NOSE_INCLUDE_EXE]
--noexe
KHÔNG tìm kiếm các bài kiểm tra trong các mô-đun python có thể thực thi được. (Mặc định trên
nền tảng windows là để làm như vậy.)
--traverse-không gian tên
Duyệt qua tất cả các mục nhập đường dẫn của một gói không gian tên
- gói đầu tiên thắng, - XNUMX-pkg-thắng, --1st-pkg-thắng
nhà nhập khẩu của mũi thông thường sẽ loại bỏ một gói hàng khỏi sys.modules nếu thấy một gói hàng
có cùng tên ở một vị trí khác. Đặt tùy chọn này để vô hiệu hóa điều đó
hành vi.
- không-byte-biên dịch
Ngăn mũi biên dịch nguồn thành các tệp .pyc trong khi mũi đang quét
cho và chạy thử nghiệm.
-a = ATTR, --attr = ATTR
Chỉ chạy các bài kiểm tra có thuộc tính được chỉ định bởi ATTR [NOSE_ATTR]
-A = EXPR, --eval-attr = EXPR
Chỉ chạy các bài kiểm tra có thuộc tính mà biểu thức Python EXPR đánh giá là True
[NOSE_EVAL_ATTR]
-S, --không chụp được
Không chụp stdout (mọi đầu ra stdout sẽ được in ngay lập tức)
[NOSE_NOCAPTURE]
--nologcapture
Tắt plugin ghi nhật ký. Cấu hình ghi nhật ký sẽ được giữ nguyên.
[NOSE_NOLOGCAPTURE]
--logging-format = FORMAT
Chỉ định định dạng tùy chỉnh để in các câu lệnh. Sử dụng cùng một định dạng như được sử dụng theo tiêu chuẩn
trình xử lý ghi nhật ký. [NOSE_LOGFORMAT]
--logging-datefmt = FORMAT
Chỉ định định dạng ngày / giờ tùy chỉnh để in sao kê. Sử dụng cùng một định dạng như đã sử dụng
bởi trình xử lý ghi nhật ký tiêu chuẩn. [NOSE_LOGDATEFMT]
--logging-filter = FILTER
Chỉ định các câu lệnh để lọc vào / ra. Theo mặc định, mọi thứ đều được ghi lại. Nếu như
đầu ra quá dài dòng, hãy sử dụng tùy chọn này để lọc ra đầu ra không cần thiết. Thí dụ:
filter = foo sẽ thu thập các câu lệnh CHỈ được cấp cho
foo hoặc foo.what.ever.sub nhưng không phải foobar hoặc trình ghi nhật ký khác. Chỉ định nhiều trình ghi nhật ký
với dấu phẩy: filter = foo, bar, baz. Nếu bất kỳ tên trình ghi nào có tiền tố là dấu trừ, ví dụ:
filter = -foo, nó sẽ bị loại trừ thay vì được bao gồm. Mặc định: loại trừ ghi nhật ký
thông điệp từ chính mũi (-nose). [NOSE_LOGFILTER]
--logging-clear-processrs
Xóa tất cả các trình xử lý ghi nhật ký khác
--logging-level = DEFAULT
Đặt mức nhật ký để chụp
- với phạm vi bảo hiểm
Bật mức độ phù hợp của plugin: Kích hoạt báo cáo mức độ phù hợp bằng cách sử dụng mức độ phù hợp của Ned Batchelder
mô-đun.
[NOSE_WITH_COVERAGE]
--cover-package = PACKAGE
Giới hạn đầu ra phạm vi đối với các gói đã chọn [NOSE_COVER_PACKAGE]
--cover-delete
Xóa thống kê mức độ phù hợp đã thu thập trước đó trước khi chạy
- kiểm tra bao phủ
Bao gồm các mô-đun thử nghiệm trong báo cáo mức độ phù hợp [NOSE_COVER_TESTS]
--cover-min-phần trăm = DEFAULT
Phần trăm mức độ phù hợp tối thiểu để các bài kiểm tra vượt qua [NOSE_COVER_MIN_PERCENTAGE]
- bao gồm
Bao gồm tất cả các tệp python trong thư mục làm việc trong báo cáo phạm vi. Hữu ích cho
phát hiện ra các lỗ hổng trong phạm vi kiểm tra nếu không phải tất cả các tệp đều được bộ kiểm tra nhập.
[NOSE_COVER_INCLUSIVE]
--cover-html
Tạo thông tin về phạm vi HTML
--cover-html-dir = DIR
Tạo thông tin bao phủ HTML trong dir
--cover-cành
Bao gồm mức độ phù hợp của chi nhánh trong báo cáo mức độ phù hợp [NOSE_COVER_BRANCHES]
--cover-xml
Tạo thông tin bao phủ XML
--cover-xml-file = FILE
Tạo thông tin bao phủ XML trong tệp
--pdb Thả vào trình gỡ lỗi khi không thành công hoặc có lỗi
--pdb-fail
Thả vào trình gỡ lỗi khi gặp lỗi
--pdb-error
Thả vào trình gỡ lỗi khi có lỗi
- không bị phản đối
Vô hiệu hóa xử lý đặc biệt của các ngoại lệ DeprecatedTest.
- với học thuyết
Bật plugin Doctest: Kích hoạt plugin tài liệu để tìm và chạy các tài liệu không thử nghiệm
mô-đun.
[NOSE_WITH_DOCTEST]
--doctest-kiểm tra
Đồng thời tìm kiếm các học thuyết trong các mô-đun kiểm tra. Lưu ý rằng các lớp, phương thức và hàm
nên có bài kiểm tra học thuyết hoặc không học thuyết, không phải cả hai. [NOSE_DOCTEST_TESTS]
--doctest-extension = EXT
Đồng thời tìm kiếm các học thuyết trong các tệp có tiện ích mở rộng này [NOSE_DOCTEST_EXTENSION]
--doctest-result-variable = VAR
Thay đổi tên biến được đặt thành kết quả của lệnh thông dịch cuối cùng từ
vỡ nợ '_'. Có thể được sử dụng để tránh xung đột với hàm _ () được sử dụng cho văn bản
dịch. [NOSE_DOCTEST_RESULT_VAR]
--doctest-fixtures = SUFFIX
Tìm đồ đạc cho tệp tài liệu trong mô-đun có tên này được nối vào tên cơ sở
của tập tin học thuyết
--doctest-options = OPTIONS
Chỉ định các tùy chọn để chuyển sang học thuyết. Ví dụ. '+ ELLIPSIS, + NORMALIZE_WHITESPACE'
- với sự cách ly
Bật plugin IsolationPlugin: Kích hoạt plugin cách ly để cô lập các thay đổi đối với
mô-đun bên ngoài vào một mô-đun hoặc gói thử nghiệm duy nhất. Cài lại plugin cách ly
nội dung của sys.modules sau khi mỗi mô-đun hoặc gói thử nghiệm chạy đến trạng thái của nó
trước kỳ kiểm tra. XIN LƯU Ý rằng plugin này không nên được sử dụng với phạm vi bảo hiểm
plugin hoặc trong bất kỳ trường hợp nào khác trong đó việc tải lại mô-đun có thể tạo ra
tác dụng phụ.
[NOSE_WITH_ISOLATION]
-NS, --detail-error, --failure-chi tiết
Thêm chi tiết vào đầu ra lỗi bằng cách cố gắng đánh giá các xác nhận không thành công
[NOSE_DETAILED_ERRORS]
- với hồ sơ
Bật hồ sơ plugin: Sử dụng plugin này để chạy thử nghiệm bằng cách sử dụng hồ sơ hotshot.
[NOSE_WITH_PROFILE]
--profile-sort = SORT
Đặt thứ tự sắp xếp cho đầu ra hồ sơ
--profile-stats-file = FILE
Tệp thống kê hồ sơ; mặc định là một tệp tạm thời mới trên mỗi lần chạy
--profile-limit = RESTRICT
Hạn chế đầu ra hồ sơ. Xem trợ giúp về pstats.Stats để biết chi tiết
- không bỏ qua
Vô hiệu hóa xử lý đặc biệt của các ngoại lệ SkipTest.
--với-id
Bật plugin TestId: Kích hoạt để thêm id thử nghiệm (như # 1) vào mỗi đầu ra tên thử nghiệm.
Kích hoạt với - không thành công chỉ chạy lại các bài kiểm tra không đạt.
[NOSE_WITH_ID]
--id-file = FILE
Lưu trữ các id thử nghiệm được tìm thấy trong các lần chạy thử nghiệm trong tệp này. Mặc định là tệp .noseids trong
thư mục làm việc.
--thất bại
Chạy các bài kiểm tra không thành công trong lần chạy thử nghiệm gần đây nhất.
--processes = NUM
Trải nghiệm chạy thử nghiệm giữa nhiều quy trình này. Đặt một số bằng số
bộ xử lý hoặc lõi trong máy của bạn để có kết quả tốt nhất. Chuyển một số âm tới
có số lượng quy trình tự động được đặt thành số lõi. Vượt qua 0
nghĩa là vô hiệu hóa thử nghiệm song song. Mặc định là 0 trừ khi NOSE_PROCESSES được đặt.
[NOSE_PROCESSES]
--process-timeout = SECONDS
Đặt thời gian chờ để trả kết quả từ mỗi quy trình của người chạy thử nghiệm. Mặc định là 10.
[NOSE_PROCESS_TIMEOUT]
-- process-restartworker
Nếu được đặt, sẽ khởi động lại từng quy trình của worker sau khi các thử nghiệm của họ được thực hiện, điều này sẽ giúp
kiểm soát rò rỉ bộ nhớ làm chết hệ thống. [NOSE_PROCESS_RESTARTWORKER]
--with-xunit
Kích hoạt plugin Xunit: Plugin này cung cấp kết quả kiểm tra trong XUnit XML tiêu chuẩn
định dạng. [NOSE_WITH_XUNIT]
--xunit-file = FILE
Đường dẫn đến tệp xml để lưu trữ báo cáo xunit. Mặc định là nosetests.xml trong
thư mục làm việc [NOSE_XUNIT_FILE]
--xunit-testsuite-name = GÓI
Tên của testsuite trong xml xunit, được tạo bởi plugin. Bộ thử nghiệm mặc định
tên là nosetests.
- tất cả các mô-đun
Bật plugin AllModules: Thu thập các bài kiểm tra từ tất cả các mô-đun python.
[NOSE_ALL_MODULES]
- chỉ thu thập
Bật chỉ thu thập: Chỉ thu thập và xuất tên thử nghiệm, không chạy bất kỳ thử nghiệm nào.
[CHỈ THU THẬP]
Sử dụng nosetests trực tuyến bằng các dịch vụ onworks.net