Как писать автотесты на Python?

Пользователь

от loyal , в категории: Python , 2 года назад

Как писать автотесты на Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rebekah , 2 года назад

@loyal 

Чтобы написать автотесты на Python, вам понадобится установить некоторые библиотеки для тестирования, такие как unittest или pytest. Затем вы можете создать функцию или класс, который будет содержать тесты, и использовать методы этого класса или функции, чтобы проверить различные функции и методы вашего кода.


Ниже приведен пример класса с автотестами, использующего библиотеку unittest:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import unittest

class TestStringMethods(unittest.TestCase):

    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')

    def test_isupper(self):
        self.assertTrue('FOO'.isupper())
        self.assertFalse('Foo'.isupper())

    def test_split(self):
        s = 'hello world'
        self.assertEqual(s.split(), ['hello', 'world'])
        # check that s.split fails when the separator is not a string
        with self.assertRaises(TypeError):
            s.split(2)

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


Чтобы запустить тесты, вы можете использовать команду python test_file.py. Это запустит тесты и выведет результаты тестирования.


Если вы хотите использовать pytest, вы можете установить его

Пользователь

от lamar , год назад

@loyal 

Для написания автотестов на Python можно использовать различные фреймворки и инструменты, такие как pytest, unittest или robot framework. Вот примеры использования двух из них:

  1. pytest: Установите pytest при помощи команды pip install pytest (предварительно установив Python и pip, если они не установлены). Создайте файл с тестами, например test_example.py. Импортируйте необходимые модули и функции для тестирования. Напишите тестовые функции, используя различные assert-утверждения. Запустите тесты, выполнив команду pytest в командной строке. Пример кода: def add_numbers(a, b): return a + b def test_add_numbers(): assert add_numbers(2, 3) == 5 assert add_numbers(5, 10) == 15
  2. unittest: unittest является встроенным модулем в Python, поэтому установка не требуется. Создайте файл с тестами, например test_example.py. Импортируйте необходимые модули и классы для тестирования. Создайте класс, наследующийся от класса unittest.TestCase. В классе определите методы с префиксом test_, в которых будет выполняться проверка с помощью assert-утверждений. Запустите тесты, выполнив команду python -m unittest test_example.py в командной строке. Пример кода: import unittest def add_numbers(a, b): return a + b class TestAddNumbers(unittest.TestCase): def test_add_numbers(self): self.assertEqual(add_numbers(2, 3), 5) self.assertEqual(add_numbers(5, 10), 15) if __name__ == '__main__': unittest.main()


Оба фреймворка предлагают богатый набор возможностей для организации, запуска и отчетности автотестов. Выбор конкретного фреймворка и структуры тестов зависит от ваших предпочтений и требований проекта.