2011-11-22 33 views
5

Tôi sắp sử dụng mũi làm phương pháp khám phá thử nghiệm trên các lớp chưa được triển khai của tôi trong dự án khá lớn của tôi. Tôi đã được ấn tượng rằng mũi chỉ được sử dụng chủ yếu cho phát hiện thử nghiệm và chạy thử nghiệm (song song là tốt). Nhưng tôi thấy this question như thể mũi là một sự thay thế cho một người không thể. Ai đó có thể làm rõ những gì họ có ý nghĩa ở đây? Tôi có thiếu một số chức năng cốt lõi mà mũi cung cấp không?Mũi có phải là phần mở rộng của unittest không?

Một lưu ý phụ, sự khác biệt giữa py.test và mũi là gì?

+1

từ Python 2.7, 'unittest' cũng cung cấp tính năng khám phá, vì vậy nếu đó là mục tiêu của bạn, bạn có thể thực hiện chỉ với stdlib –

Trả lời

8

Các docs cho mũi nói:

mũi cung cấp một luân phiên khám phá thử nghiệm và quá trình chạy cho unittest, một trong đó là ý định bắt chước các hành vi của py.test như nhiều khi có thể mà không phải dùng quá nhiều ma thuật.

Nếu bạn take a peek at the code, bạn sẽ thấy rằng unittest là một trong những phụ thuộc.

import logging 
import sys 
import unittest 

Vì vậy, - theo sự hiểu biết của tôi - Tôi có thể nói mũi đó là một thả trong thay thế cho chạy thử nghiệm, nhưng không phải là một thay để module unittest (chơi một chút với ngữ nghĩa ở đây, nhưng tôi hy vọng điều này rõ ràng là đủ).

7

Hành vi bắt chước của py.test. Đó là những gì họ nói về website của họ:

mũi cung cấp một khám phá luân phiên thử nghiệm và quá trình chạy unittest, một trong đó là ý định bắt chước các hành vi của py.test càng nhiều khi có thể mà không cần đến quá nhiều kỳ diệu

Nose là một phần mở rộng của unittest và cho biết thêm các tính năng được liệt kê trong vấn đề https://stackoverflow.com/questions/5696884/python-nose-vs-unittest.

+0

Điều này có vẻ hợp lý. Mũi chắc chắn là dựa trên unittest. Nó phân lớp và thay thế bộ tải và toán tử không tải và mở rộng các khả năng của chúng. – dbn

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