$ pip install ' moto[ec2,s3,all] '
Moto عبارة عن مكتبة تتيح لاختباراتك الاستهزاء بسهولة بخدمات AWS.
تخيل أن لديك كود بايثون التالي الذي تريد اختباره:
import boto3
class MyModel :
def __init__ ( self , name , value ):
self . name = name
self . value = value
def save ( self ):
s3 = boto3 . client ( "s3" , region_name = "us-east-1" )
s3 . put_object ( Bucket = "mybucket" , Key = self . name , Body = self . value )
خذ دقيقة للتفكير في كيفية اختبار ذلك في الماضي.
انظر الآن كيف يمكنك اختباره باستخدام Moto:
import boto3
from moto import mock_aws
from mymodule import MyModel
@ mock_aws
def test_my_model_save ():
conn = boto3 . resource ( "s3" , region_name = "us-east-1" )
# We need to create the bucket since this is all in Moto's 'virtual' AWS account
conn . create_bucket ( Bucket = "mybucket" )
model_instance = MyModel ( "steve" , "is awesome" )
model_instance . save ()
body = conn . Object ( "mybucket" , "steve" ). get ()[ "Body" ]. read (). decode ( "utf-8" )
assert body == "is awesome"
مع قيام مصمم الديكور بإنهاء الاختبار، يتم الاستهزاء تلقائيًا بجميع الاستدعاءات إلى s3. يقوم النموذج بتتبع حالة الدلاء والمفاتيح.
للحصول على قائمة كاملة بالخدمات والميزات التي يتم تغطيتها، يرجى الاطلاع على تغطية التنفيذ الخاصة بنا.
يمكن العثور على الوثائق الكاملة هنا:
http://docs.getmoto.org/en/latest/
ادعموا هذا المشروع وتطويره المستمر من خلال رعايتنا!
انقر على زر Sponsor
في أعلى الصفحة لمزيد من المعلومات.
تتم إدارة شؤوننا المالية بواسطة OpenCollective، مما يعني أن لديك رؤية كاملة لجميع مساهماتنا ونفقاتنا: https://opencollective.com/moto
للإبلاغ عن ثغرة أمنية، يرجى استخدام جهة الاتصال الأمنية Tidelift. سوف يقوم Tidelift بتنسيق الإصلاح والكشف.