首页 > 解决方案 > 如何使用 assertEqual 验证加载的 csv 中的行?

问题描述

我正在尝试在我的 unit_test.py 中进行单元测试,以验证 csv 文件中的所有行是否已成功加载到 main.py 中。main.py 中的代码运行良好,当我在 main.py 中使用“print(len(my_file)”进行测试时,它确实显示加载了 40000 行。但是,当我尝试执行 self.asserEqual(40000, len(file .filename)) 在 unit_test.py 中,它显示只有 17 行。有人能指出我正确的方向吗?我认为我以错误的方式使用了 assertEqual

主文件

import csv

datafile = './AB_LA_2019.csv'

class AirbnbData:

........
........
    def load_data(self):
    with open(datafile, 'r', newline='') as file:
        csvreader = csv.reader(file)
        next(file)
        my_file = [(row[1], row[2], int(row[3])) for row in csvreader]
        self._airbnbdata = my_file


    self._generate()

unit_test.py

   import unittest
   import main as airbnb


   class testAirbnb(unittest.TestCase):

       def test_line(self):
       self.assertEqual(40000, len(airbnb.datafile))

标签: pythontesting

解决方案


推荐阅读