我有一个类使用boto从s3下载一个文件,该方法使用S3Connection类初始化连接,然后使用get_key方法来获取“file”。 这是代码块
import sys
from boto.exception import S3ResponseError, S3DataError
from boto.s3.connection import S3Connection
class MyClass(object):
def __init__(self):
self.s3conn = S3Connection(
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
host=HOST,
is_secure=True
)
self.bucket = self.s3conn.get_bucket(BUCKET_NAME)
def get_file(self, key):
try:
return self.bucket.get_key(key)
except (S3ResponseError, S3DataError):
sys.exit(3)
我想模拟get_bucket方法,并给它一个副作用S3ResponseError,这样我就可以模拟出系统出口方法并断言它被调用。在
下面是我是怎么做的。在
^{pr2}$但是,这个主张是失败的,任何帮助或指导都是感激的。在
AssertionError: Expected to be called once. Called 0 times.
在我看来问题是
MyClass.get_file()
没有调用get_bucket()
。这就是为什么您没有看到对sys.exit()
的调用。模拟get_key()
或调用get_bucket()
。在相关问题 更多 >
编程相关推荐