我在做Python Koans(在Python 2上),在about_classes
部分有點迷路。'with'+'assertRaises'做什麼?
這是代碼,我不知道該怎麼辦/發生的事情:
class Dog5(object):
def __init__(self, initial_name):
self._name = initial_name
@property
def name(self):
return self._name
def test_args_must_match_init(self):
self.assertRaises(___, self.Dog5) # Evaluates self.Dog5()
我明白爲什麼我在這裏得到一個錯誤,因爲類需要一個自變量(和零給出),但不要這裏沒有得到什麼預期的迴應。
所以找誰了一個解決方案,我發現這個代碼:
def test_args_must_match_init(self):
with self.assertRaises(TypeError):
self.Dog5()
但我不明白這一點。
現在問題來了: 最後一段代碼是幹什麼的?
with assertRaises(TypeError): Dog5()
在做什麼?
謝謝。這個上下文管理器是我沒有得到的部分。我想我現在明白了一點。 – tglaria