diyoruz dalga geçmek. Modülüm, Cleanup, boto3'ü ithal ediyor. Temizleme ayrıca bir "temizleyici" sınıfına da sahiptir.nasıl boto3 istemci nesne/I belirli bir boto3 işlevini alay çalışıyorum
self.ec2_client = boto3.client('ec2')
Ben EC2 istemci yöntemini taklit istiyor: desribe_tags(), piton olduğunu söylüyor: Ben kazanılmış ettik uzak botocore ithal olduğunu
<bound method EC2.describe_tags of <botocore.client.EC2 object at 0x7fd98660add0>>
init sırasında, temizleyici bir EC2 istemcisi yaratır
mock.patch(Cleaner.botocore.client.EC2.describe_tags)
ile başarısız:
AttributeError: 'module' object has no attribute 'EC2'
benim test dosyası ve çalışırken
nasıl bu yöntemi alay ediyorsun?
import boto3
class cleaner(object):
def __init__(self):
self.ec2_client = boto3.client('ec2')
ec2_client nesne desribe_tags() yöntemi vardır biridir: gibi
Temizleme görünüyor. Bu bir botocore.client.EC2 nesnesi, ama asla botocore doğrudan ithal etmem.
temizlik etkinliği modülü içinde. Bunu kullanmak için EC2'yi tam olarak nasıl ithal ediyorsunuz? Görünüşünden 'import boto3' gibi bir şey yapıyorsunuz. Sağ? Öyleyse, yamalarınızın “Cleanup.boto3.EC2” gibi bir şey olması gerektiğinden şüphelenirim. Modülü 'Temizleme 'ismini verdiyseniz. Emin olmak için daha fazla bilgi yardımcı olacaktır. Modülün – idjaw
örnek bir çözüm buldunuz –
@JeffTang eklendi? Benzer bir şey arıyorum! – ptimson