В другое или другое тестирование становится необходимостью. Вы не можете позволить себе погрузить части, не работающие так … Вы тестируете, чтобы убедиться, что все как предназначено. Вы не только тестируемые коды, но и функционирование GUI, API и базы данных. В этом посте мы будем плавать в мелких водах, чтобы позволить новичкам начать тестирование, один раз для всех.
Наша математика Lib.
Напишем математику lib для решения общих математических вопросов
- площадь квадрата
- Площадь треугольника
- Длина гипотенуза
Для имени я выбрал Complemaths, поскольку он дополняет стандартную библиотеку
Давайте напишем наш класс
class Complemaths: def area_square(length_, width_): return width_ * length_ def area_triangle(base_, height_): return base_ * height_ * 0.5 def hypotenuse(side1_, side2_): return sqrt(side1_**2 + side2_**2)
- 1 Мы не добавляли конструктора здесь, так как его не нужно.
- 2 также, Side1 _ ** 2 может быть сбоку1_ * Side1_
- 3 roade_traiangle и гипотенузы возвращаются поплавки
Давайте будем использовать нашу lib
использование
print(Complemaths.area_square(2, 2)) print(Complemaths.area_triangle(5, 2)) print(Complemaths.hypotenuse(5, 5))
выделяет
4 5.0 7.0710678118654755
Обзор тестирования
На самом деле не нужно иметь рамки. Вы можете сделать что-то подобное:
def testing(): if(Complemaths.area_square(2, 2) == 4): print('test1 ok') else: print('test1 fail') testing()
или использовать утверждение
def test_area_square(): assert Complemaths.area_square(2, 2) == 4, 'should be 4' test_area_square()
Если все хорошо, сообщения не отображаются , остальные останавливают выполнение
Но в рамках есть некоторые расширенные возможности. К счастью, Python Ships с собственным называемым тестированием подразделения, вдохновленные Java Junit
Наш тест с неправомерным
class ComplemathsTests(unittest.TestCase): def test_area_square(self): self.assertEqual(Complemaths.area_square(5, 2), 10) def test_area_triangle(self): self.assertEqual(Complemaths.area_triangle(5, 2), 5.0) def test_hypotenuse(self): self.assertEqual(Complemaths.hypotenuse(3, 4), 5.0) if __name__ == '__main__': unittest.main()
Это дает нам
... ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK
Тестирование по частям называется тестирование на единицу и использование тестов в вашем разработке называется разработкой TEST, TDD.
Фото Malcolm Lightbody на Unspplash
Оригинал: “https://dev.to/abdurrahmaanj/introduction-to-testing-by-writing-a-simple-maths-lib-10in”