1 Востаннє редагувалося pluszz (25.01.2020 23:00:15)

Тема: Написання модульних тестів.

koala написав:

7. Роби тести для свого коду. Це допоможе п.0

Питання до всіх, як ви пишете і зберігаєте модульні тести. В інтернетах багато копірайтерських статей про Unit-тестинг в котрих є такі уривки коду.

Прихований текст
def test_sort(sort_algorithm):
    print("Testing: ",sort_algorithm.__doc__)
    print("testcase #1: ", end="")
    A = [4, 2, 5, 1, 3]
    A_sorted = [1, 2, 3, 4, 5]
    sort_algorithm(A)
    print('Ok' if A==A_sorted else "Fail")

    print("testcase #2: ", end ="")
    A = list(range(10, 20))+list(range(0,10))
    A_sorted = list(range(20))
    sort_algorithm(A)
    print("Ok" if A == A_sorted else "Fail")

    print("testcase #3: ", end="")
    A = [4,2,5,1,3]
    A_sorted = [1,2,3,4,5]
    sort_algorithm(A)
    print("Ok" if A == A_sorted else "Fail")

if __name__ == "__main__":
    test_sort(insert_sort)
    test_sort(choise_sort)
    test_sort(buble_sort)

або такі

Прихований текст
import unittest
from name_function import formatted_name

class NamesTestCase(unittest.TestCase):

   def test_first_last_name(self):
       result = formatted_name("pete", "seeger")
       self.assertEqual(result, "Pete Seeger")

Мене інтересує трохи інше
    1)Чи застосовуєте ви для модульних тестів додаткові бібліотеки(pytest, unittest), якщо так то які?
    2)Як ви зберігаєте тести в папці разом з іншими файлами проекту чи в окремім каталозі?
    3)Чи створюєте ви конфігураційні файли для тестів?
    4)Чи  використовуєте параметризацію в тестах при можливості?
    5)Чи використовуєте класси при написанні тестів чи обмежуєтесь функціональним кодом?
    6)Хороша літературка  по темі?

Подякували: leofun011

2

Re: Написання модульних тестів.

О і ще, як часто пишете червоні тести? І яку кількість тестів зазвичай пишете для однієї функції?

3 Востаннє редагувалося koala (26.01.2020 09:54:46)

Re: Написання модульних тестів.

1) Зроблю камінгаут: на нинішній роботі ми тестів не робимо. На попередній роботі прикрутив до CBuilder-а DUnit.
2) Коли пишу як гобі - зазвичай роблю тести у тому ж файлі в окремій функції. На роботі - разом з іншими файлами, щоб не втратити зв'язку.
3) Ні.
4) По факту ні.
5) Гобі - ні, на роботі - так.
6) Кент Бек, "Розробка, керована тестуванням у прикладах"

англійська

Kent Beck, Test-Driven Development: By Example.

Подякували: pluszz, leofun012