Python: полный вывод модульного теста за один прогон теста в текстовом файле - PullRequest
0 голосов
/ 31 августа 2018

Структура

Моя структура имеет дело со следующими пунктами:

  • Доступ к коммутатору и маршрутизатору через SSH и Pyserial
  • Мои тесты контролируются через q = self.s.query
  • Я все еще использую Python Unittest, планируется преобразование в PyTest
  • Требования к этому испытанию следующие

Контрольные примеры должны проходить через полный тестовый запуск, а затем выводить полный вывод в файл после каждого тестового случая.

В принципе, конечно, вы можете суммировать все в конце, но задача так же желательна.

  • Вывод из каждого теста в txt.file
  • возможно на уровне отладки со всей информацией? Это возможно?

Несколько вопросов:

  • Могу ли я перейти на PyTest напрямую?
  • Как выглядит соответствующий пример?
  • Могу ли я использовать существующие тестовые примеры непосредственно в Pytest?
  • Я думаю об интеграции всех моих тестовых примеров в набор тестов (unittest или pytest).

Настройка

  • Python 3.7, Unittest, testcore (специальный пакет, использующий Paramiko)

    Librarys

 import testcore
 from testcore.control.ssh import SSH
 import unittest
 from test import support

В моей настройке я делаю тест. Я контролирую как Pyserial, так и ssh. я использовал Python 3.7 в моей установке с Unitest.

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

Вот соединение с коммутатором

Я уже просмотрел некоторую информацию, но почему-то не нашел сценарий, так как мог применить его специально на коммутаторе. Поэтому здесь очень благодарен за любую информацию.

В этом примере я подключаюсь к коммутатору / маршрутизатору

    self.s = testcore.control.ssh.SSH(host='xxx.xx.xx.xxx', username='xxxx', password='xxxx')

Здесь вы можете увидеть полную структуру теста

  def test_create_user(self):

  #self-filfilling
   assert 1

   if self.s.login():
    q = self.s.query('account')

      #switch to prompt account

    q = self.s.query('add 10 testuser1 testuser1 ')
    q = self.s.query('add 11 testuser2 testuser2 ')
    q = self.s.query('add 11 testuser3 testuser3 ')
    q = self.s.query('add 11 testuser4 testuser4 ')
    q = self.s.query('add 11 testuser5 testuser5 ')
    q = self.s.query('add 11 testuser6 testuser6 ')
    q = self.s.query('add 11 testuser7 testuser7 ')
    q = self.s.query('add 11 testuser8 testuser8 ')
    q = self.s.query('add 11 testuser9 testuser9 ')
    q = self.s.query('add 11 testuser10 testuser10 ')


    import time
    print('Wait')
    time.sleep(3)

    # create testadmins privileg 15

    q = self.s.query('add 15 testadmin1 testadmin1 ')
    q = self.s.query('add 15 testadmin2 testadmin2 ')
    q = self.s.query('add 15 testadmin3 testadmin3 ')
    q = self.s.query('add 15 testadmin4 testadmin4 ')
    q = self.s.query('add 15 testadmin5 testadmin5 ')
    import time
    print('Wait')
    time.sleep(3)

    # more testadmins

    q = self.s.query('add 15 testadmin1 testadmin6 ')
    q = self.s.query('add 15 testadmin2 testadmin7 ')
    q = self.s.query('add 15 testadmin3 testadmin8 ')
    q = self.s.query('add 15 testadmin4 testadmin9 ')
    q = self.s.query('add 15 testadmin1 testadmin11 ')
    q = self.s.query('add 15 testadmin2 testadmin12 ')
    q = self.s.query('add 15 testadmin3 testadmin13 ')
    q = self.s.query('add 15 testadmin4 testadmin14 ')
    q = self.s.query('add 15 testadmin5 testadmin15 ')
    import time
    print('Wait')
    time.sleep(10)    


 def test_delete_user(self):

 if self.s.login():
      q = self.s.query('account')
      q = self.s.query('delete testuser1 ')
      q = self.s.query('delete testuser2 ')
      q = self.s.query('delete testuser3 ')
      q = self.s.query('delete testuser4 ')
      q = self.s.query('delete testuser5 ')
      q = self.s.query('delete testuser6 ')
      q = self.s.query('delete testuser7 ')
      q = self.s.query('delete testuser8 ')
      q = self.s.query('delete testuser9 ')
      q = self.s.query('delete testuser10 ')
      import time
      print('Wait')
      time.sleep(10)  

# create testadmins privileg 15

      q = self.s.query('delete testadmin1 ')
      q = self.s.query('delete testadmin2 ')
      q = self.s.query('delete testadmin3 ')
      q = self.s.query('delete testadmin4 ')
      q = self.s.query('delete testadmin5 ')
      import time
      print('Wait')
      time.sleep(10)  
...