← 返回首页
GitHub - getmoto/moto: A library that allows you to easily mock out tests based on AWS infrastructure. · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

getmoto/moto

 master
Go to file
Code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10,743 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
View all files

Repository files navigation

More items

Moto - Mock AWS Services

Install

$ pip install 'moto[ec2,s3,all]'

In a nutshell

Moto is a library that allows your tests to easily mock out AWS Services.

Imagine you have the following python code that you want to test:

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)

Take a minute to think how you would have tested that in the past.

Now see how you could test it with 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"

With the decorator wrapping the test, all the calls to s3 are automatically mocked out. The mock keeps track of the state of the buckets and keys.

For a full list of which services and features are covered, please see our implementation coverage.

Documentation

The full documentation can be found here:

http://docs.getmoto.org/en/latest/

Financial Contributions

Support this project and its continued development, by sponsoring us!

Click the Sponsor-button at the top of the page for more information.

Our finances are managed by OpenCollective, which means you have full visibility into all our contributions and expenses: https://opencollective.com/moto

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

About

A library that allows you to easily mock out tests based on AWS infrastructure.

Topics

Resources

License

Code of conduct

Contributing

Stars

8.6k stars

Watchers

65 watching

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Footer

© 2026 GitHub, Inc.