python调用py方法,报错【ValueError: no such test method in : runTest】

最新用python写些自动化脚本,在调用model为Unittest时,总是调用不成功,报错【ValueError: no such test method in : runTest】,以下为部分代码及解决方案。

testA.py代码如下:

# testA.py
import unittest

class TestA(unittest.TestCase):
    def test_one(self)
	print('我是第一个用例方法')
现在我想在另一个testB.py里面调用A里面的test_one方法

# testB.py
import testA

test_case =TestA().test_one()
test_suite = unittest.TestLoader().loadTestsFromTestCase(test_case)
test_suite_result = unittest.TestResult()
test_suite.run(test_suite_result)
for err in test_suite_result.errors:
    print err
for fail in test_suite_result.failures:
    print fail
此时报错:

  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/case.py", line 191, in __init__
    (self.__class__, methodName))
ValueError: no such test method in : runTest
问题处理:

原因是因为sub_class里缺少runTest方法

直接在testA的类中增加

def runTest(self):

pass

即:

# testA.py
import unittest

class TestA(unittest.TestCase):
    def test_one(self)
	print('我是第一个用例方法')
 
  

def runTest(self):

pass

这样的话就可以调用model为[unittest.testcase]类型的文件方法了。


【补充】测试过程中,还曾出现【unbound method create() must be called with SocialUrl instance as first argument】这种错误,原因是没有将引用的类给实例化。也就是说如果我现在调用TestA的话,需要使用testA().test_one()方法。而不是testA.test_one()

你可能感兴趣的:(python调用py方法,报错【ValueError: no such test method in : runTest】)