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

Рамки тестирования Python – время чтения: 3 минуты

3-х структура тестирования Python, которую я бы рекомендовал для любого разработчика Python, который стремится использовать для ускорения развертывания и уменьшения требуемой суммы ручного тестирования.

Автор оригинала: Max Ong Zong Bao.

Тестирование может быть болью. Это больно писать тестовые случаи. Без этого, выполнение ручного тестирования отстойки Жизнь из вас. Это делает его хуже, когда вам нужно было запомнить каждую команду и шаги, которые могут занять несколько часов, чтобы сделать это.

Я знаю Важность доставки, когда вы находитесь на Время Crunch & Смерть март чтобы сделать это. Но … Если ваши тратить тонны усилий, чтобы проверить свое развертывание. Вы саботирование сами как эти могут быть автоматизированный Отказ Что освобождает ваше время, чтобы внести изменения в ваш код, чтобы сделать его лучше, быстрее и поддерживать для вашего будущего себя или товарищей по команде, которые будут поддерживать его.

Это Рамки тестирования по умолчанию Это поставляется с Python, когда вы устанавливаете Python в вашей среде разработки. Я не буду вводить много всего этого. Как вы узнаете о Java, это привлекает вдохновение от Junit Отказ

Я обнаружил, что один большой ворчать Что у меня было с рамки по умолчанию, которая в комплекте с Python. Это Код котельной . Когда вы создаете тестовые случаи. Посмотрите на этот пример тестового случая, который достаточно для меня, чтобы прекратить изучать его. Из-за суммы Котельная Код, чтобы написать его, чтобы проверить мой код:

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()

Pteest все еще мой ГОТО Тестирование. Что я люблю о Pтойте. Это легкость Начать с ним и без тонн котельной, чтобы заставить его работать.

# From the previous example of the unit test but in Pytest

def test_upper():
    assert 'foo'.upper() == "FOO"

def test_isupper():
        assert 'FOO'.isupper() == True
        assert 'Foo'.isupper() == False

def test_split():
  s = 'hello world'

  assert s.split == ['hello', 'world']
  assert type(s.split(2)) == str

С постоянным списком вкусностей. Как Маркеры для выполнения конкретных тестовых случаев. Вместе с Светильники сделать тестирование в соответствии с фундаментом для начала.

Это позволяет создавать Дым тест Чтобы получить грубое понимание вашей программы. Не забывать Пычарм Профессиональный Издание позволяет легко автоматизировать и сделать Тестовое развитие (TDD) Отказ Что является частью того, что я все равно останулся с пичармом из-за количества вещей, которые мне нравятся в них.

Вести себя что сосредоточиться на том, чтобы делать Развитие по поведению Развитие (BDD) это то, что мне еще предстоит попробовать.

Но в Условиях Mayman он обрамляет ваши тестовые случаи в пользовательских историях, используя [данный – когда-тогда] [11] ~ Tags ~ (~ ‘Данные 20-е, как 20Den)) ~ Searchberm ~’ ~ Sort ~ false ~ Sortdirection ~ ‘ASC ~ Page ~ 1)) Формула. Это позволяет простота

В настоящее время мне не нужно для моей работы. Но я набрал больше понимания, когда я читал [прагматичный программист] [12]. Который дал мне Перспектива объединить его с практиками TDD, чтобы сформировать Dragnet Отказ

Чтобы проверить различные сценарии в качестве тестового случая. Который когда-то ошибка была найдена. Вы исправляете свою программу и создаете тест подразделения, чтобы поймать ошибку, когда когда-либо происходит снова в будущем.

Я изложил необходимость написания тестовых случаев для автоматизировать Процесс тестирования, так что освобождает вас, чтобы сосредоточиться на работе на более высоком уровне. Как написание документации, улучшение вашего CI/CD-трубопровода или даже пара программирования с вашим младшим разработчиком, чтобы ускорить их процесс обучения.

Я также охватил 3 рамки тестирования Python. Что я знаю а именно Неизвестный Это поставляется с Python. Pteest который является одним из моих любимых структур тестирования. вести себя что сосредоточиться на использовании BDD Чтобы создать тестовые сценарии из историй пользователей, используя Дайте, когда тогда Формула.

Наконец, вы хотите специализировать себя как разработчик? Если это да. Я отдаю мою бесплатную электронную книгу под названием «Выбирая вашу специализацию как разработчик» Для тех, кто интересуется командовать более высокой зарплатой или выполнять работу, которую вам нравится.

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

[11]: https://www.agilealliance.org/glossary/gwt/#q=~(infinite ~false~ ~filters~(posttype~((”page~’post~’aa_book~’aa_event_session~’aa_experious_report~ ‘ aa_glossary ~ ‘aa_research_paper ~’ aa_video [12]: https://amzn.to/3k2mtoq [13]: https://realypython.com/python-testing/[14]: https://docs.pytest.org/EN/Stuell/[15]: https://behave.readtheDoc.io/en/latest/[16]: https://amzn.to/325eaiz [17]: https://amzn.to/3lqwita