Рубрики
Без рубрики

Введение в тестирование, написав простую математику Lib

Время попробовать тестирование. Теги с Python, TDD, нецелевым.

В другое или другое тестирование становится необходимостью. Вы не можете позволить себе погрузить части, не работающие так … Вы тестируете, чтобы убедиться, что все как предназначено. Вы не только тестируемые коды, но и функционирование 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”