51Testing软件测试论坛

标题: 求助:python使用discover时返回有问题 [打印本页]

作者: pj764169118    时间: 2015-10-12 16:40
标题: 求助:python使用discover时返回有问题
为什么返回的是importfailure而不是定义的test用例,有大神知道吗?
主要代码如下
#coding=utf-8
#导入包
import csv,os,unittest
#获取文件所在目录
path = os.path.abspath(os.path.join(os.path.dirname(__file__)))
...
#定义测试用例文件夹
my_testfile=path+'\\test_case'
#获取自动化测试用例
def alltestnames():       
        testunit=unittest.TestSuite()
        #定义discover方法
        discover=unittest.defaultTestLoader.discover(
            my_testfile,
                pattern ='ktv4_*.py',
                top_level_dir=None)
        print ('discover : %s'%discover)
        for test_suite in discover:
                print ('test_suite : %s'%test_suite)
                for test_case in test_suite:
                        print('test_case : %s'%test_case)
                        testunit.addTests(test_case)
                        print ('testunit : %s'%testunit)
        return testunit
alltestnames()
...
打印返回结果:
discover : <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<unittest.loader.ModuleImportFailure testMethod=ktv4_login>]>]>
test_suite : <unittest.suite.TestSuite tests=[<unittest.loader.ModuleImportFailure testMethod=ktv4_login>]>
test_case : ktv4_login (unittest.loader.ModuleImportFailure)
Traceback (most recent call last):
  File "parameters.py", line 34, in <module>
    alltestnames()
  File "parameters.py", line 31, in alltestnames
    testunit.addTests(test_case)
  File "D:\Python33\lib\unittest\suite.py", line 56, in addTests
    for test in tests:
TypeError: 'ModuleImportFailure' object is not iterable
作者: pj764169118    时间: 2015-10-14 15:24
算了还是我自己回答:就是import问题,导入的文件有问题
作者: 1559564918    时间: 2016-5-3 21:04
我现在也遇到同样的问题,请问你最后是怎么解决的?
作者: andyzhouh1    时间: 2017-8-9 11:31
我也遇到了这个问题,请问是怎么解决的?
作者: zhaojm    时间: 2017-9-4 13:15
pj764169118 发表于 2015-10-14 15:24
算了还是我自己回答:就是import问题,导入的文件有问题

哪个文件有问题啊




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2