Tôi đang sử dụng expectedFailure
vì có lỗi mà tôi muốn ghi lại mà tôi không thể khắc phục ngay bây giờ, nhưng muốn quay lại trong tương lai. Sự hiểu biết của tôi về expectedFailure
là nó sẽ đếm thử nghiệm như được thông qua nhưng trong bản tóm tắt nói rằng có x số thất bại dự kiến (tương tự như cách nó hoạt động với tipped bỏ qua).expectedFailure được tính là lỗi thay vì được thông qua
Tuy nhiên, khi tôi chạy bộ kiểm tra của tôi, tôi nhận được như sau:
$ ./manage.py test eav.QueryTest
Creating test database for alias 'default'...
.EE
======================================================================
ERROR: test_q_object_with_exclude (eav.tests.managers.QueryTest)
----------------------------------------------------------------------
_ExpectedFailure
======================================================================
ERROR: test_q_objects_unioned (eav.tests.managers.QueryTest)
----------------------------------------------------------------------
_ExpectedFailure
----------------------------------------------------------------------
Ran 3 tests in 1.095s
FAILED (errors=2)
Destroying test database for alias 'default'...
Tôi không chắc chắn nếu điều này nằm với Á hậu kiểm tra hoặc một cái gì đó của Django tôi đang làm sai.
@unittest.expectedFailure
def test_q_object_with_exclude(self):
# Everyone except Bob
q_set = eav_m.Process.objects.exclude(
Q(eav__details__city__contains='Y'))
self.assertEqual(q_set.count(), 4)
@JonathanHartley Không hẳn. Các thử nghiệm không thành công theo 2 cách. Nếu họ thất bại vì một số khẳng định thất bại thì đó là trạng thái "FAIL" nhưng nếu có sự cố như một ngoại lệ được nêu ra, thì đó là trạng thái "L ERI". expectedFailure có nghĩa là bạn mong đợi một thử nghiệm thất bại nhưng điều đó không có nghĩa là bạn đang mong đợi nó sụp đổ. – binW