时间触发的Azure函数的单元测试示例

时间:2019-07-12 02:21:51

标签: azure unit-testing azure-functions

我是Azure Functions的新手。 我实现了一个时间触发的天蓝色函数,并希望为此编写单元测试用例。 我正在使用specflow和nunit编写我的测试用例。 但是,我找不到如何添加时间触发功能的正确示例。 有人可以指出正确的例子吗? 谢谢。

2 个答案:

答案 0 :(得分:1)

我不再称其为单元测试,但是您可以通过调用以下功能应用程序的管理端点来触发非HTTP功能:

POST <ROOT_URL>/admin/functions/<FUNCTION_NAME>

请注意,向已部署的功能应用程序发出请求时,您需要在x-functions-key标头中指定系统密钥。

the docs中的更多信息。

替代

我通常试图将尽可能多的业务逻辑放在一个单独的类中,该类很容易测试,并可以从函数中调用该类。

就我个人而言,我认为您不应该测试触发器是否起作用,这是Azure Functions运行时的职责。很好,可以在较大范围的集成测试中进行测试,但不能作为快速且经常执行的单元测试。

答案 1 :(得分:0)

  1. 从函数本身中获取业务逻辑,而是使用函数调用库。
  2. 为这些库添加测试。

您无需执行特定于Azure函数的任何操作即可测试您的代码。

如果您尝试进行集成测试,请遵循Marc的建议。