- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试使用 Moto 和 @mock_dynamodb2 为我的 python 代码编写单元测试。到目前为止,我一直在测试我的“成功操作”测试用例。但是我很难让它为我的“失败案例”工作。
在我的测试代码中,我有:
@mock_dynamodb2
class TestClassUnderTestExample(unittest.TestCase):
def setUp(self):
ddb = boto3.resource("dynamodb", "us-east-1")
self.table = ddb.create_table(<the table definition)
self.example_under_test = ClassUnderTestExample(ddb)
def test_some_thing_success(self):
expected_response = {<some value>}
assert expected_response = self.example_under_test.write_entry(<some value>)
def test_some_thing_success(self):
response = self.example_under_test.write_entry(<some value>)
# How to assert exception is thrown by forcing put item to fail?
TestClassUnderTestExample 看起来像这样:
class ClassUnderTestExample:
def __init__(self, ddb_resource=None):
if not ddb_resource:
ddb_resource = boto3.resource('dynamodb')
self.table = ddb_resource.Table(.....)
def write_entry(some_value)
ddb_item = <do stuff with some_value to create sanitized item>
response = self.table.put_item(
Item=ddb_item
)
if pydash.get(response, "ResponseMetadata.HTTPStatusCode") != 200:
raise SomeCustomErrorType("Unexpected response from DynamoDB when attempting to PutItem")
return ddb_item
在实际模拟 .put_item 操作以返回非成功值时,我完全陷入困境,以便我可以测试 ClassUnderTestExample 是否会按预期处理它并抛出自定义错误。我已经尝试过在运行测试之前删除表格之类的事情,但这只会在获取表格时引发异常,而不是执行带有错误代码的 PutItem。
最佳答案
Moto 的目标是完全模仿 AWS 的行为,包括当用户提供错误输入时的行为。换句话说,对 AWS 的 put_item() 调用失败,也会/应该对 Moto 失败。
没有内置方法可以强制对有效输入进行错误响应。
从您的示例中很难看出如何强制执行此操作,但看起来值得尝试使用此行来创建无效输入:ddb_item = <do stuff with some_value to create sanitized item>
关于python - 如何使用 moto @mock_dynamodb2 模拟失败的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69589263/
我希望有人能帮我解决这个问题。 前段时间我开发了一个应用程序,目的是在智能手机中同时记录前置麦克风和后置麦克风捕获的声音。基本上,我会像这样制作下一个对象: AudioRecord audioReco
我正在编写一个 lambda 函数,它获取 CW 日志组列表并对每个日志组运行“导出到 s3”任务。 我正在使用 pytest 编写自动化测试我正在使用 moto.mock_logs (除其他外),但
我有一个名为 check_stuff 的函数,它实例化一个对象并调用函数 describe_continuous_backups,但是,moto 尚不支持此功能,因此我需要自己手动模拟它。我有以下内容
总而言之,我一遍又一遍地在谷歌上搜索以找到解决方案,虽然我发现了一个关于相机释放等的错误,但我似乎无法让凸轮代码正常工作。每次我执行 takePicture 时,系统都会挂起,有时它会调用 Pictu
我不知道其他人是否也遇到过这种情况。连接到 Moto 360 (Android Wear) 上的 Sensor.TYPE_MAGNETIC_FIELD 传感器时,我没有收到任何更新。 以下代码都有效:
我目前正在尝试使用 Moto 和 @mock_dynamodb2 为我的 python 代码编写单元测试。到目前为止,我一直在测试我的“成功操作”测试用例。但是我很难让它为我的“失败案例”工作。 在我
通过 goCoder SDK 使用 Wowza Streaming Cloud 开始流式传输时,Moto g 和三星 s6 中的摄像头当时无法打开,但当我切换摄像头时,两个摄像头(后置和前置)都可以正
我需要访问 Moto 设备 (5.0.1) 上的数据漫游状态 if (Settings.Secure.getInt(context.getContentResolver(),Settings.Secu
上周买了新的 Moto G XT1033,手机工作正常,但作为开发人员,我发现在 Debug模式下很难,即使在开发人员选项中启用 USB 调试选项之后... 必要时出现错误 USB 驱动程序 未找到
我有一台 Windows 7 x64 Ultimate 计算机,我想在 Debug模式下连接我的 Moto X 2nd Gen (XT1097),以便我可以开发一些应用程序。 p> 问题是,Windo
我正在尝试测试一些使用 boto 的 python 代码。我不想尝试针对 AWS 进行集成测试,所以我尝试用 moto 模拟它,但它的行为并不像我预期的那样。 测试代码如下: import io im
我最近在 android wearable(MOTO 360) 上开发应用。 我的问题是,是否可以将传感器数据作为文件保存在我的 watch 中?或者我必须将这些数据发送回我的掌上电脑进行保存? 我尝
我编写了一个在圆形和方形 watch 上运行的应用程序,具有两个布局和一个 watchViewStub。由于 moto 360 在欧洲销售,我有很多报告说 Moto 360 没有加载圆形布局。使用模拟
我正在尝试通过蓝牙在我的 Moto 360 上进行调试。我正在关注这些 instructions但是当我输入 adb forward tcp:4444 localabstract:/adb-hub;
我正在测试一些 dynamodb 访问代码。在过去,对分页的不正确处理导致了错误(开发人员倾向于使用少量数据进行手动测试,因此很容易对分页的工作原理做出错误的假设,只有在处理实际数据量时才会出现这种假
在我的代码中的某处,lambda 被调用以返回 true/false 响应。我试图在我的单元测试中模拟这个 lambda 但没有成功。 这是我的代码: def _test_update_allowed
我正在尝试用 moto 模拟 AWS SQS,下面是我的代码 from myClass import get_msg_from_sqs from moto import mock_sqs #from
在我的单元测试中: def test_my_function_that_publishes_to_sns(): conn = boto3.client("sns", region_name="
我正在尝试模拟计算环境的创建,这需要一些其他资源,即 IAM 实例配置文件和服务角色。但是,当我创建这些 IAM 资源然后尝试在计算环境创建中使用它们时,事情失败了: Role arn:aws:iam
我想对从 aws 导入的文件进行测试。 我使用 moto 模拟 s3,以免弄乱实际数据。但是,现在 aws 似乎是空的,因此我决定在模拟的 s3 上上传一些测试文件。我该怎么做? 这是我的设置, 比赛
我是一名优秀的程序员,十分优秀!