-1

我的验收测试基础设施使用 specrun 来创建模拟用户、调用我的 Web 服务并检查结果。这适用于测试涉及用户交互(调用 REST api、发送消息等)的功能。

但是,在后端,我还有一个功能,它涉及一个时间触发的 Azure 函数,它对某些 azure blob 执行一些操作,并通过 eventthub 向用户发送消息。如何接受涉及此天蓝色功能的测试功能?- 因为此 azure 功能每 6 小时仅触发一次,并且运行验收测试完整 6 小时以测试此功能是不切实际的。

任何人都有处理这种情况的经验?你有什么建议?

4

1 回答 1

2

虽然门户网站使用管理 API 来调用函数(您可以使用它——浏览器的 F12 工具可以向您展示它是如何工作的),但没有任何保证该 API 将在未来保持不变。

另一种方法可能是分解您的函数,以允许您从计时器或测试调用“真实”逻辑:

  1. 使用您的逻辑创建一个 QueueTrigger 函数。
  2. 创建一个将消息放入队列的 TimerTrigger。这也有失败重试的额外好处。
  3. 创建您自己的 HttpTrigger(默认情况下受密钥保护),您可以直接从测试中调用它。让这也将消息粘贴到队列中。

或者,您可以不使用 QueueTrigger,而是在帮助程序库中实现所有逻辑,并且仍然公开 #2 和 #3 中的函数——只需让它们成为直接调用帮助程序的瘦包装器。

于 2018-01-12T21:34:17.623 回答