Sau khi xem qua nguồn gốc của mũi, đặc biệt là tập tin selector.py, nếu bạn nhìn vào những gì đang xảy ra,
https://github.com/nose-devs/nose/blob/master/nose/selector.py#L129
Khi kiểm tra nếu chúng ta wantFile
, self.matches
được gọi, sau đó thực hiện một regex
tìm kiếm theo số match
, đó là những gì bạn đã vượt qua ở dạng testMatch
.
Vấn đề xảy ra khi bạn sau đó kiểm tra sau đó xuống (và, trong suốt tập tin đó),
https://github.com/nose-devs/nose/blob/master/nose/selector.py#L152
Nó chạy kiểu rất giống nhau kiểm tra một lần nữa, đối với wantFunction
. Điều này có nghĩa, nếu bạn có cấu trúc khác nhau cho gói của bạn, pyfile container của bạn và lớp/chức năng thử nghiệm thực tế của bạn, bạn sẽ phải tạo một regex phức tạp điên rồ để phù hợp với mọi giai đoạn.
Đối với tôi, khi tôi biết điều này, tôi đã chọn đặt tiền tố cho các gói, chức năng vùng chứa và thử nghiệm của mình với một bit chung, tức là
setests ├── __init__.py ├── setest_area1.py └──── def setest_someblock(): ...
Và sau đó lệnh nose
của tôi làm việc như thế nào,
nose --testMatch="setest"
này sau đó lọc cách tôi mong đợi nó để làm việc.
Bạn đang nhập chính xác lệnh nào khi bạn muốn chạy thử? –
"nosetests --with-gae" hoặc chỉ "nosetests". Tôi cũng đã thử "kiểm tra nosetests", nơi "test" là tên của thư mục tập tin thử nghiệm của tôi. Tất cả các lệnh hoạt động hoàn hảo trên Mac, không có cấu hình mũi nào được thay đổi trên cả hai máy. Tôi làm việc trong ubuntu nếu tôi nhập các tệp thử nghiệm trong thư mục __init__.py của thư mục kiểm tra và chạy "kiểm tra nosetests". Tuy nhiên, điều này không bền vững. –
Thử chạy 'nosetests' với một vài' -v''s… '-vv' thường cho tôi đủ thông tin để giải quyết vấn đề của tôi. –