Python:文本文件中每次运行测试的单元测试的完整输出

时间:2018-08-31 12:54:47

标签: python unit-testing pytest paramiko python-unittest

结构

我的结构涉及以下几点:

  • 通过SSH和Pyserial访问交换机和路由器
  • 我的测试通过q = self.s.query来控制
  • 我仍在使用Python Unittest计划进行PyTest转换
  • 该测试的要求如下

测试用例应该经过完整的测试运行,然后在每个测试用例之后在文件中输出完整的输出。

基本上,当然,您可以在最后总结所有内容,但是任务是随心所欲的。

  • 从每个测试输出到txt.file
  • 也许处于调试级别,包含所有信息?这可能吗?

一些问题:

  • 我可以并且应该直接切换到PyTest吗?
  • 相应的示例是什么样的?
  • 我可以直接在Pytest中使用现有的测试用例吗?
  • 我考虑将所有测试用例集成到测试套件(unittest或pytest)中。

设置

  • Python 3.7,Unittest,testcore(使用Paramiko的特殊软件包)

    图书馆

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

在我的设置中,我进行了测试。我可以同时控制Pyserial和ssh。我在使用Unitest的设置中使用了python 3.7。

测试用例工作正常,我想输出每个测试的完整进度以及文本文件中提示的内容。在每种情况下,只针对每种测试,也可以在末尾进行总结。

这是到交换机的连接

我已经查看了一些信息,但是以某种方式找不到该方案,因为我可以将其专门应用于交换机。因此,在此非常感谢您提供任何信息。

在此示例中,我连接到交换机/路由器

    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)  

0 个答案:

没有答案