는 어떻게이 테스트 케이스파이썬 속성이 손상 되었습니까?
import unittest
class PropTest(unittest.TestCase):
def test(self):
class C():
val = 'initial val'
def get_p(self):
return self.val
def set_p(self, prop):
if prop == 'legal val':
self.val = prop
prop=property(fget=get_p, fset=set_p)
c=C()
self.assertEqual('initial val', c.prop)
c.prop='legal val'
self.assertEqual('legal val', c.prop)
c.prop='illegal val'
self.assertNotEqual('illegal val', c.prop)
아래와 같이 실패 할 수 있는가? (속성을 지원하지 않습니다 그러므로와)
Failure
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 279, in run
testMethod()
File "/Users/jacob/aau/admissions_proj/admissions/plain_old_unit_tests.py", line 24, in test
self.assertNotEqual('illegal val', c.prop)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 358, in failIfEqual
(msg or '%r == %r' % (first, second))
AssertionError: 'illegal val' == 'illegal val'
중복 : http://stackoverflow.com/questions/2240351/python-2-6-4-property-decorators-not-working –
이것은 'property를 사용하려고하면 오류 메시지가 낫다는 합법적 인 비판입니다 '새로운 스타일의 클래스를 잊어 버렸습니다 /'Object' *를 상속해야합니다. IDEs가 이것을 잡을 수 있습니다. – smci