我正在自动生成数以千计的Python代码的单元测试。 unittest
模块使用类来包含测试,但是我猜测类中可能包含的方法数量存在上限 - 这是真的吗?
我正在自动生成数以千计的Python代码的单元测试。 unittest
模块使用类来包含测试,但是我猜测类中可能包含的方法数量存在上限 - 这是真的吗?
类的方法(实际上是所有属性)都存储在一个dict
中。一个dict
可以包含任意数量的项,但每个键必须是唯一的。
我非常怀疑你会遇到限制,即使有的话。据我所知,一个对象可以拥有的方法数量仅受内存限制。我刚刚定义了一个有一百万个函数的类,没有任何问题。如果你不相信我的话,请尝试一下:
>>> class C(object): pass
>>> for i in xrange(10**6):
exec('C.func%d=lambda self: %d'%(i,i))
>>> c = C()
>>> c.func1()
1
>>> c.func999999()
999999
unittest
范式似乎鼓励这样。 - Brendan