如何在不实际写入队列的情况下测试写入队列

问题描述

我确信这可能是一个简单的问题,但我是编程新手,我很难理解模拟。我想知道是否可以在 python 中测试一个写入队列而不实际写入队列的函数

def write_to_queue():
   
   #call queue client
   #do some status checking
   return status

def post() :
     #do something 
     return write_to_queue()

有没有办法在不实际写入队列的情况下测试 write_to_queue?

解决方法

模拟通常是这样工作的:

  1. 确保要模拟的对象被注入到测试代码中,而不仅仅是在那里创建。
  2. 在测试场景中注入模拟而不是真实的东西。
  3. 通过验证预期方法调用的执行位置来断言预期行为。