Тестирование лямбда-выражений (Python) с помощью aws-cdk?

Я хочу настроить модульные тесты для своих лямбда-выражений, написанных на Python. Я использую aws-cdk для разработки и развертывания своих лямбда-выражений. Как правильно настроить эти модульные тесты? Какие библиотеки я использую? Как поместить это в структуру пакета? Может быть, пример поможет прояснить ситуацию.

Я искал библиотеку unittest. Я установил имя папки «test» и поместил туда тестовый файл с именем: test_first.py. Затем я мог бы выполнить все тестовые файлы в этой папке с помощью команды: python -m unittest discover ./test

test_first.py

import unittest

class FirstTest(unittest.TestCase):
    def test_default(self):
        self.assertEqual(10, (5+5))

if __name__ == '__main__':
    unittest.main()

Это правильный способ сделать это? Теперь у меня проблема в том, что я не знаю, как импортировать другой файл python и протестировать его методы в этом файле. Это будет лямбда, которую я написал и протестирую ее методы. Как мне это сделать?


person Jeroen Van De Laer    schedule 25.07.2019    source источник


Ответы (1)


Файлы Lambda python похожи на любые другие файлы python, методы которых можно протестировать как модульные тесты. Ниже простой пример

import unittest

from my_sum import sum


class TestSum(unittest.TestCase):
    def test_list_int(self):
        """
        Test that it can sum a list of integers
        """
        data = [1, 2, 3]
        result = sum(data)
        self.assertEqual(result, 6)

if __name__ == '__main__':
    unittest.main()

Вы можете импортировать свой лямбда-метод, как мы импортировали sum из my_sum, а затем написать на нем несколько утверждений. Этот документ является хорошим прочтением для того же.

person Abhishek Garg    schedule 25.07.2019