Проверка теста не пройдена - PullRequest
0 голосов
/ 02 июля 2018

Я написал функцию, которая экспортирует словарь в виде строки в CSV-файл. В моем задании я получил указание экспортировать этот dict как одну строку (я взял ключи из dict и разделил их запятыми - без пробелов). У меня есть файл, который тестирует эту функцию - я здесь, так что, конечно, он не работает. Однако, когда я печатаю выходные данные этой функции, это выглядит как в моем назначении, например, sth1, sth2, sth3, sth4. Что мне здесь не хватает? Вот мой код:

def export_stock(stock, filename="export.csv"):

with open(filename, "w+") as exportation:
    a = list(stock.keys())
    a = ",".join(a)
    exportation.write(a)

и вот тестовый функционал:

def test_export(self):
    export_stock({'sth1': 3, 'sth2': 1, "sth3": 1},
                     "export.csv")

    with open("export.csv", newline='') as csvfile:
        expected = ["sth1", "sth2", "sth3", "sth1", "sth1"]
        expected.sort()
        reader = csv.reader(csvfile, delimiter=',', quotechar='|')
        for row in reader:
            row.sort()
            self.assertListEqual(expected, row)

1 Ответ

0 голосов
/ 02 июля 2018

Вы передаете имя файла test_stock_export.csv при вызове своей функции, чтобы она экспортировала результаты в этот файл. В своем тесте вы открываете export.csv и проверяете результаты там. Я думаю, что вы хотели открыть test_stock_export.csv в своем тесте.

...