python调用py方法,报错【ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest】

最新用python写些自动化脚本,在调用model为Unittest时,总是调用不成功,报错【ValueError: no such test method in <class 'mytestcase.MyTestCase'>: 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 <class 'mytestcase.MyTestCase'>: 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()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值