python unit test testsuite不调用任何测试用例

时间:2018-08-24 12:03:03

标签: python subprocess python-unittest

当前,我想通过Python测试套件(包含在单元测试中)为50个测试用例定义一个测试套件。

不幸的是,创建的类拒绝正常工作。

Unittest参与了导入并起作用。

import unittest
import test 
import logging
import random

class SwitchTestComplete(unittest.TestSuite):

def setUp(self):


        self.s = SSH(host='xxx.xx.xx.xxx', username='xxxxx', password='xxx')
        self.s.query_interactive = True
    def suite(self):

       suite = unittest.TestSuite()
       suite.addTest(SwitchTestComplete('test_accounting_disable'))
       suite.addTest(test_account_enable('test_account_enable'))
       #suite.addTest(test_accounting_disable('test_create_user'))
       #suite.addTest(test_accounting_disable('test_delete_user'))
       #suite.addTest(test_accounting_disable('test_delete_admin'))
       #suite.addTest(test_accounting_disable('test_create_user_admin'))
       #suite.addTest(test_accounting_disable('test_auto_logout'))
       self.run(suite)

测试

def test_create_user(self):
            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)

发生的问题是尽管单元测试可以运行,但是没有调用我在此处指定的测试用例。

1 个答案:

答案 0 :(得分:1)

除了上面的注释,这是一个简单的套件示例。

import unittest 

# your intial test
class Test_User(unittest.TestCase):
    def test_create_user(self):
          # self-filfilling
          assert 1

# make a suite
ts = unittest.TestSuite()

# add new instance to a suite
ts.addTest(Test_User('test_create_user'))

# run suite
runner=unittest.TextTestRunner()
runner.run(ts)

后续建议:

  • 不要让您的套件成为类,它是一个实例
  • 不要尝试在套件中引入新的设置,而是继承带有基本设置的测试用例,我认为它更干净
  • (非常主观的看法)使用pytest-比传统的unittest
  • 开发起来更加简单和快捷