나는이 같은 모델이있는 경우 : age
의 인덱스가 False로 설정되어있는 경우 내가 테스트 할 수 있습니다 방법단위 테스트를 작성하여 속성이 indexed = False로 설정되어 있는지 확인하는 방법은 무엇입니까?
class Person(ndb.Model):
name = ndb.StringProperty()
age = ndb.IntegerProperty(indexed=False)
를?
나는이 같은 모델이있는 경우 : age
의 인덱스가 False로 설정되어있는 경우 내가 테스트 할 수 있습니다 방법단위 테스트를 작성하여 속성이 indexed = False로 설정되어 있는지 확인하는 방법은 무엇입니까?
class Person(ndb.Model):
name = ndb.StringProperty()
age = ndb.IntegerProperty(indexed=False)
를?
당신이 필요하다 : 어떤 합병증없이
self.assertFalse(Person.age._indexed)
.
properties = Person._properties
assertEqual(properties["age"], GenericProperty('age', indexed=False))
코드에 어떤 현상이 있는지에 따라 어설트 문에 다른 속성이 필요할 수 있습니다.
Person._properties
을 사용하면 기대해야 할 내용을 확인할 수 있습니다. 또는 indexed=False
을 구문 분석하거나 _properties 출력에서 bool을 구문 분석하고 훨씬 더 구체적인 테스트를 제공하는 훨씬 간단한 어설 션을 사용할 수 있습니다.
TDD에서는 모든 기대치를 캡처해야합니다. 불필요한 인덱스를 없애면 성능이 향상되고 GAE의 쓰기 비용이 절감됩니다. – Houman
간단한'self.assertFalse (Person.age._indexed)'는 어떨까요? 당신에게 도움이되지 않는 이유는 무엇입니까? –
멋지게 작동하는 @AlexMartelli. 응답으로 추가하십시오. – Houman