单元测试Python Azure计时器功能

时间:2020-08-11 09:12:18

标签: python azure unit-testing azure-functions

天青provide documentation for unit testing HTTP and Queue Python functions。这可以通过创建模拟QueueMessageHTTPRequest来完成。但是,没有用于为Timer functions创建单元测试的文档。

有一个TimerRequest class,但是创建它的新实例失败并出现以下错误:

req = func.TimerRequest()

TypeError:无法使用抽象实例化抽象类TimerRequest 方法past_due

为Python Azure计时器函数创建单元测试的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

As discussed in a GitHub issue,这可以通过将TrueFalse传递给构造函数来完成,例如

from functionTimer import main
main(False)

答案 1 :(得分:0)

接受的答案不再适用于我,最后我创建了一个将过去的到期属性设置为 True 的类,并且成功了:

import unittest
from azure.functions import TimerRequest
from my_func import main

class MockTimer():
    def __init__(self):
        self.past_due = True


class TestFunction(unittest.TestCase):
    def test_my_function(self):
        timer = MockTimer()
        resp = main(timer)