我似乎记得曾读过一篇文章,介绍了一种与AmazonS3兼容的测试服务器,您可以在自己的服务器上运行它来进行单元测试或其他什么。然而,我已经耗尽了我的耐心,在Google和AWS上寻找它。这样的事情真的存在吗?如果没有,我想我会写一个。
注意:我问的是亚马逊S3 (存储系统),而不是亚马逊EC2 (云计算)。
发布于 2008-09-18 22:10:03
你在想Park Place吗?
仅供参考,它的old home page现在离线了。
发布于 2013-05-19 01:47:38
我认为moto (https://github.com/spulec/moto)是你单元测试的完美工具。Moto模拟所有对S3、SQS等的访问,并且可以在使用其web服务器的任何编程语言中使用。
它的设置很简单,轻量级且速度快。
摘自moto的自述文件:
假设您有以下要测试的代码:
import boto
from boto.s3.key import Key
class MyModel(object):
def __init__(self, name, value):
self.name = name
self.value = value
def save(self):
conn = boto.connect_s3()
bucket = conn.get_bucket('mybucket')
k = Key(bucket)
k.key = self.name
k.set_contents_from_string(self.value)
花点时间思考一下,在过去你会如何测试它。现在看看如何使用Moto测试它:
import boto
from moto import mock_s3
from mymodule import MyModel
@mock_s3
def test_my_model_save():
model_instance = MyModel('steve', 'is awesome')
model_instance.save()
conn = boto.connect_s3()
assert conn.get_bucket('mybucket').get_key('steve') == 'is awesome'
发布于 2009-02-13 19:13:42
Park Place已移至github:http://github.com/technoweenie/parkplace
https://stackoverflow.com/questions/91443
复制相似问题