$ pip install ' moto[ec2,s3,all] '
Moto เป็นไลบรารีที่ช่วยให้การทดสอบของคุณจำลองบริการของ AWS ได้อย่างง่ายดาย
ลองนึกภาพคุณมีโค้ด Python ต่อไปนี้ที่คุณต้องการทดสอบ:
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 จะประสานการแก้ไขและเปิดเผยข้อมูล