Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python单元测试套件不调用任何测试用例_Python_Subprocess_Python Unittest - Fatal编程技术网

python单元测试套件不调用任何测试用例

python单元测试套件不调用任何测试用例,python,subprocess,python-unittest,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', usernam

目前,我想通过单元测试中包含的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)

出现的问题是,单元测试虽然运行,但没有调用我在这里指定的测试用例。

除了上面的注释之外,下面是一个简单的套件示例

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
    库开发得更简单、更快

您似乎混合了两件事—实际测试和将其添加到套件中。此外,您的注释代码会分散您对问题的注意力-是否要发布一个替代?请看一看-它干净地创建了一个套件。请注意,您不应该在套件中引入新的模拟/设置-只需组装现有的测试。谢谢,这对我很有用。但是顺便问一下,如何在pytest中改变这一点?Pytest是否运行Unittest?