Chỉ định tên trên dòng lệnh giống như các câu trả lời khác gợi ý hoạt động và hữu ích. Tuy nhiên, khi tôi đang trong quá trình viết các bài kiểm tra, tôi thường thấy rằng tôi chỉ muốn chạy bài kiểm tra mà tôi đang thực hiện và những cái tên mà tôi sẽ phải viết trên dòng lệnh sẽ khá dài và khó viết. . Trong trường hợp như vậy, tôi thích sử dụng một trình trang trí tùy chỉnh và gắn cờ.
Tôi định nghĩa wipd
("trình trang trí đang tiến hành") như thế này:
from nose.plugins.attrib import attr
def wipd(f):
return attr('wip')(f)
Điều này xác định một trình trang trí @wipd
sẽ thiết lập wip
thuộc tính trên các đối tượng mà nó trang trí. Ví dụ:
import unittest
class Test(unittest.TestCase):
@wipd
def test_something(self):
pass
Sau đó, -a wip
có thể được sử dụng tại dòng lệnh để thu hẹp việc thực hiện thử nghiệm đối với những người được đánh dấu bằng @wipd
.
Lưu ý về tên ...
Tôi đang sử dụng tên @wipd
cho người trang trí thay vì @wip
để tránh loại vấn đề này:
import unittest
class Test(unittest.TestCase):
from mymodule import wip
@wip
def test_something(self):
pass
def test_something_else(self):
pass
Ý import
muốn làm cho người wip
trang trí trở thành một thành viên của lớp và tất cả các bài kiểm tra trong lớp sẽ được chọn. Các attrib
kiểm tra plugin của các tầng lớp phụ huynh của một phương pháp thử nghiệm để xem nếu thuộc tính lựa chọn tồn tại ở đó quá, và các thuộc tính được tạo ra và thử nghiệm bởi attrib
không tồn tại trong một không gian tách biệt. Vì vậy, nếu bạn kiểm tra với -a foo
và lớp của bạn chứa foo = "platypus"
, thì tất cả các bài kiểm tra trong lớp sẽ được chọn bởi plugin.