【发布时间】:2016-11-18 02:16:09
【问题描述】:
我正在使用 python 2.7 并深入研究 TDD。我正在尝试测试一个使用 csv 模块并返回 csv.reader 对象的简单函数。我想测试 assertIsInstance 测试是否返回了正确类型的对象,但是我无法弄清楚如何使其工作。
#!/usr/bin/python
import os, csv
def importCSV(fileName):
'''importCSV brings in the CSV transaction file to be analyzed'''
try:
if not(os.path.exists("data")):
os.makedirs("data")
except(IOError):
return "Couldn't create data directory!"
try:
fileFullName = os.path.join("data", fileName)
return csv.reader(file(fileFullName))
except(IOError):
return "File not found!"
目前的测试是这样的......
#!/usr/bin/python
from finaImport import finaImport
import unittest, os, csv
class testImport(unittest.TestCase):
'''Tests for importing a CSV file'''
def testImportCSV(self):
''' Test a good file and make sure importCSV returns a csv reader object '''
readerObject = finaImport.importCSV("toe")
self.assertTrue(str(type(readerObject))), "_csv.reader")
我真的不认为在 str 和 type 函数中包含“toe”是正确的。当我尝试类似...
self.assertIsInstance(finaImport.importCSV("toe"), csv.reader)
它返回一个类似...的错误
TypeError: isinstance() arg2 must be a class, type, or tuple of classes and types
帮忙???
【问题讨论】:
标签: python unit-testing csv tdd