我们正在Python中的Azure持久函数中对Orchestrator进行单元测试,我们希望在下面的函数中断言由context.call_activity("GetRecords", reader_activity_input)
创建的记录被传递给context.call_activity("ProcessRecords", records
),但是尽管在测试中模拟了返回值,它仍然返回一个None,而不是由mocked_context.call_activity.return_value = iter(records)
设置的值
功能:
def orchestrator_function(context: df.DurableOrchestrationContext):
.....
records = yield context.call_activity("GetRecords", reader_activity_input)
response = yield context.call_activity("ProcessRecords", records)
return response
测试:
def test_Orchestrator_function_calls_Process(mocker):
mocked_context = mocker.MagicMock()
records = [1,2,3]
mocked_context.call_activity.return_value = iter(records)
list(generator)
mocked_context.call_activity.assert_has_calls([mocker.call("ProcessRecords", records)])
上述断言失败,因为records
的值为None
目前没有回答
相关问题 更多 >
编程相关推荐