如何在Python中加载文件中的数据以进行单元测试?

我写了一个专门的HTML解析器,我想用我下载的几个示例网页进行单元测试。

在Java中,我使用类资源来将数据加载到单元测试中,而不必依赖它们位于文件系统上的特定路径。 有没有办法在Python中做到这一点?

我找到了doctest.testfile()函数,但似乎是doctests特有的。 我只想得到一个文件句柄,到一个特定的HTML文件,这是相对于当前模块。

在此先感谢您的任何建议!


要从单元测试中的文件加载数据,如果测试数据与单元测试位于相同的目录中,则需要一个解决方案:

TESTDATA_FILENAME = os.path.join(os.path.dirname(__file__), 'testdata.html')


class MyTest(unittest.TestCase)

   def setUp(self):
       self.testdata = open(TESTDATA_FILENAME).read()

   def test_something(self):
       ....

我想你的任务归结到这里给出的目前文件。 然后通过HTML文件的路径扩展该路径并将其打开。


您还可以使用StringIO或cStringIO来模拟包含文件内容的字符串作为文件。

链接地址: http://www.djcxy.com/p/54711.html

上一篇: How to load data from a file, for a unit test, in python?

下一篇: get script directory name