如何在Python中从类外部测试类方法?

时间:2016-03-21 15:40:29

标签: python beautifulsoup

我正在尝试从另一个模块测试类中的每个方法。所以这是班级。

applicationDidBecomeActive

在另一个模块中,我试图这样做:

#newmodule

class test:
    def atest(a,b):
        return a

    def btest(a,b):
        return b

注意:我确定这里有各种各样的错误,但我只是嘲笑这个例子。我这里的主要问题是如何成功导入newmodule并测试每种方法。我怀疑尝试从类外部测试方法而不仅仅是测试函数是很复杂的。

我已经失败了,因为我得到了:

import unittest
import newmodule
test.atest(5,4).assert not errors
test.atest(7,9).assert not errors

即使它们在同一目录中。

如何成功导入此模块?如果是,我是否可以从课外测试方法?

1 个答案:

答案 0 :(得分:0)

“即使它们位于同一目录中。” - 不是它们是否在同一目录中,而是newmodule是否在当前工作目录中。如果要从其他目录运行测试,可以将脚本目录添加到sys.path

import os
import sys
sys.path.insert(0, os.path.dirname(__file__))
import unittest
import newmodule

这会对您要测试的模块版本进行硬编码测试,因此您必须确定这是否符合您的目标。或者,您可以在测试脚本之外设置PYTHONPATH enivronment变量,以获得更大的灵活性。