我是unnitest模块的新手。我有一个包含unittest的文件。该文件类似于......
class ABC (unittest.TestCase):
def setUp(self):
# Do some work here
def test_123(self, a,b,c):
# Do some work here
if __name__ == "__main__":
unittest.main()
* 现在我通过将值传递给函数“test_123”来从另一个文件调用此文件。* 但是python显示以下错误。请有人帮忙!
Traceback (most recent call last):
File "caller_file.py", line 20, in <module>
r = file1.ABC()
File "/usr/lib/python2.7/unittest/case.py", line 191, in __init__
(self.__class__, methodName))
ValueError: no such test method in <class 'file1.ABC'>: runTest
答案 0 :(得分:0)
您可以像这样运行file1.ABC
测试用例:
import unittest
import file1
suite = unittest.TestLoader().loadTestsFromTestCase(file1.ABC)
unittest.TextTestRunner(verbosity=2).run(suite)
此外,您需要将self
参数添加到setUp
和test_123
方法,self
应该是唯一的参数。
答案 1 :(得分:0)
我的单元测试遇到了类似的问题,因为缺少模块搜索路径中的条目。
我通过创建
解决了这个问题my_env = os.environ.copy()
if not 'PYTHONPATH' in my_env:
my_env['PYTHONPATH'] = ''
my_env['PYTHONPATH'] += ';' + ';'.join(
[os.path.abspath('.'),
os.path.abspath('..'),
os.path.abspath('..\\..')])
然后调用文件
_ = subprocess.check_output(filepath, shell=True, env=my_env)
我刚刚添加了当前路径环境,因为调用文件位于相同的目录中。也许你必须调整它。