Używam nose 1.1.2 do pisania testów dla projektu Python. Istnieje funkcja assert_raises
, o której jest mowa w dokumentacji, ale nie mogę jej nigdzie znaleźć.Gdzie jest funkcja assert_raises nosa?
To powinno być skrótem coś takiego:
value_error_raised = False
try:
do_something_that_should_raise_value_error()
except ValueError:
value_error_raised = True
assert value_error_raised
type_error_raised = False
try:
do_something_else_that_should_raise_type_error()
except TypeError:
type_error_raised = True
assert type_error_raised
że staną:
assert_raises(ValueError,
do_something_that_should_raise_value_error)
assert_raises(TypeError,
do_something_else_that_should_raise_type_error)
już szukał kodu źródłowego, a jedynie wzmianka znalazłem w tools.py moduł wewnątrz dokumentacji raises
:
Jeśli chcesz przetestować wiele twierdzeń dotyczących wyjątków w jednym teście możesz zamiast tego użyć
assert_raises
.
Czy ta funkcja została usunięta z nosa? Jeśli tak, czy ktoś mógłby mi pomóc zrozumieć dlaczego?
OK, to działa! Dzięki! Właśnie zdałem sobie sprawę, że powodem nie jest wyraźnie zdefiniowane na nose.tools jest to, że jest to obejście poprzez unittest.TestCase assertRaise realizacji. W związku z tym zaćmienie nadal zgłasza błąd importu z 'from nose.tools import assert_raises'. – tbellardi
to nie tylko sytuacja, w której PyDev jest źle, w większym projekcie używającym Jython pamiętam, że muszę dodawać wyjątki dla ponad stu identyfikatorów ... –