Test için bir sınıfın örneklerini oluşturan bir işlev içinde for döngüsü çalıştırıyorum. Yeni sınıflar yapmak yerine, aynı ikiyi tekrar tekrar kullanıyor gibi görünüyor.python neden işlev içinde bir sınıf örneğini yeniden kullanıyor
Sınıflar ve değişkenlerin python yöntemlerinde nasıl ele alındığı konusunda eksik olan bir şey var mı? beklendiği gibi ben her örneği için ayrı kimlikleri olsun ayrı değişken adları kullandığımda döngü burada
class CollectionSetImages(unittest.TestCase):
def test_keywordset(self):
"""Testing keyword queries by images equality """
for keyword in ['a','b','c','d','e','f','g']:
images_by_keyword = Image.keyword_query([keyword])
collection = Collection([keyword])
class_images = collection.images
print('colleciton: %s id: %s' % (collection,id(collection)))
self.assertEqual(images_by_keyword, class_images,)
her okunması için yeni bir nesne oluşturmak nasıl
çıkış
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656cc> id: 3083228876
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656ec> id: 3083228908
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656cc> id: 3083228876
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656ec> id: 3083228908
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656cc> id: 3083228876
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656ec> id: 3083228908
colleciton: <tests.fakeimages._FakeCollection object at 0xb7c656cc> id: 3083228876
olduğunu :
collectionA = Collection(['a'])
print('collection: %s id: %s' % (collectionA,id(collectionA)))
collectionB = Collection(['f'])
print('collection: %s id: %s' % (collectionB,id(collectionB)))
collectionC = Collection(['f'])
print('collection: %s id: %s' % (collectionC,id(collectionC)))
çıkışlar:
collection: <tests.fakeimages._FakeCollection object at 0xb7cbc8ac> id: 3083585708
collection: <tests.fakeimages._FakeCollection object at 0xb7cbccec> id: 3083586796
collection: <tests.fakeimages._FakeCollection object at 0xb7cbcd2c> id: 3083586860
Orada bir deneme nesnesi nesnesi var gibi görünüyor ... sen deneme durumunda mock sınıfının örnekleme nasıl devreye gireceğini çift kontrol etmek isteyebilirsiniz. –
@Jarret, iyi bir nokta, test nesnelerini çıktısını kısa bir süre içinde göndererek –