我是靠谱客的博主 健康面包,最近开发中收集的这篇文章主要介绍TypeError: 'TestCase' object is not iterable,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这个异常呢其实是因为我对list没有足够熟悉

我一开始很疑惑,明明已经正确返回testcase对象了呀,为啥会报TypeError: 'TestCase' object is not iterable这个错误 呢?

分析:

这个错误的意思是说TestCase这个对象是不可迭代的(注意到了吗,是TestCase,而不是testcase)

看print(testcase)输出的结果:

<TestCase.获取房源状态>

再看看是哪里调用了testcase对象,在runTest(testcase)函数中

使用for i in testcase 循环读出testcase对象当中的内容

 

 

首先testcase = runProject("all")会返回一个列表

我原本想是通过这句代码只取前2条数据,我以为这句代码执行后testcase = runProject("all")[2],testcase对象仍然是一个列表,但实际上这样写是只取了testcase列表中下标为2的元素,而不是testcase这个列表前2个元素了

正确的写法应该是这样的

testcase = runProject("all")[:2]

 举个小例子说明一下:

for循环迭代一个列表--正常执行

                                                       

In [2]: a=["a","b",123]                                                       


In [4]: for i in a: 
   ...:     print(i) 
   ...:                                                                         
a
b
123

 for循环迭代a[:2](a[:2]仍然是一个列表对象)--正常执行

In [8]: a[:2]                                                                   
Out[8]: ['a', 'b'] 


In [6]: for i in a[:2]: ...: print(i) ...: a b

  for循环迭代a[2](a[2]表示列表中下标为2的元素,该元素是数字123,该对象是不可迭代的)--报错了TypeError: 'int' object is not iterable

In [9]: a[2]                                                                    
Out[9]: 123


In [7]: for i in a[2]: ...: print(i) ...: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-7-879d94b1fc77> in <module> ----> 1 for i in a[2]: 2 print(i) 3 TypeError: 'int' object is not iterable

 顺例复习一下:

python中可以迭代的对象包括:字符串,列表,元组,字典,文件

 

转载于:https://www.cnblogs.com/kaerxifa/p/11052554.html

最后

以上就是健康面包为你收集整理的TypeError: 'TestCase' object is not iterable的全部内容,希望文章能够帮你解决TypeError: 'TestCase' object is not iterable所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部