我有两个目录,output /和sample /。 output /由400个文件填充,这些文件由批处理过程自动生成。 sample /包含相同的文件,逐个手动预生成和验证。
我需要编写一个单元测试来验证输出中的所有文件是否与样本中的文件相同。
我写道:
import unittest
import glob
import os.path
class TestReports(unittest.TestCase):
def setUp(self):
# Discover reports
self.reports = glob.glob('sample/*.csv')
def test_all_reports(self):
for sample_report in self.reports:
output_report = 'output/' + os.path.basename(sample_report)
self.assertFileEquals(sample_report, output_report)
def assertFileEquals(self, fname1, fname2):
with open(fname1) as fh1:
with open(fname2) as fh2:
self.assertEquals(fh1.read(), fh2.read(), "%s and %s are identical" % (fname1, fname2)
上述内容在第一个不同的文件中失败,并且只在junit报告中生成1行输出("至少1个文件不同")。
我需要的是生成一个junit报告,显示400个独立测试,测试描述自动从文件名生成。我如何使用unittest / unittest2 / nosetests做到这一点?