使用Python进行完整的AWS Stack系统测试

时间:2019-04-29 17:36:52

标签: python amazon-web-services unit-testing testing continuous-integration

我对AWS Stack中的各个组件进行了很多单元测试,但我想跨多个异步系统进行功能测试。

这些系统由于在其上操作的队列而异步。一个应用程序可能会发生一个事件,并在不同队列中生成多个队列项目,以供下游处理。最终,我想在系统的一端放置一个事件,并在系统的另一端查看结果。我已经手动执行此操作,但是我要测试很多变体,并且每个功能版本的全系统回归测试都变得难以管理。

一个工作单元通常需要几分钟的时间才能通过所有队列,流和流程,并在另一端解决。

function testing

我确实知道如何我可以测试类似的东西。但这不是很漂亮。

def test_event():
    event = { 'user_id': 1, 'action': 'like_post', 'data': {} }

    put_event_to_queue(event)

    retry_count = 0
    success = False
    while retry_count < 3 and not success:
      time.sleep(60)

      if (is_action_in_rds()
          and is_action_in_elasticsearch()
          and is_action_in_athena()):
          success = True

      retry_count += 1

    self.assertTrue(success)

我的方法是将某些内容放入队列中进行处理,并检查经过一定时间后结果是否存在。

这是标准方法吗?是否有一个最适合此类测试的测试框架?

0 个答案:

没有答案