在Django命令的单元测试中,csv文件被指定为参数时,如何将csv转换成mock

2024-06-17 12:53:43 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个django命令,它将csv文件的路径作为参数,如下所示。你知道吗

class Command(NoticeCommand):

    def add_arguments(self, parser):
        parser.add_argument(
            '--file', dest="file", type=str, required=True
        )

    def handle(self, *args, **options):
        with open(options['file'], 'r') as f:
            reader = csv.reader(f)
            next(reader)
            for row in reader:
                ...

我正在考虑在进行单元测试时模拟这个csv文件。
但是,我不知道该用哪一部分和如何制作mock。
另外,参数是required = True。当csv被模拟时,我如何调用UnitTest?你知道吗

from mock import patch
from django.core.management import call_command

class ImportCsvTest(TestCase):

    @patch("common.management.commands.import_csv.????")
    def test_import_csv(self):
        call_command("import_lyric_artists", file=?????)

Tags: 文件csvdjangoimportselfaddtrueparser
1条回答
网友
1楼 · 发布于 2024-06-17 12:53:43

有关更多示例,请参阅python documentation。你知道吗

@patch('package.module.attribute', your_value)
def test():
    from package.module import your_value
    assert attribute is your_value

test()

相关问题 更多 >