使用docopt和unittest测试CLI

2024-09-30 22:25:12 发布

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

文件fastq_trimmer.py中有一部分代码:

if __name__ == '__main__':
    usage = '''
    Fastq Trimmer CLI.

    Usage:
        fastq_trimmer.py trim <filePath> <trimFactor>

    '''

    args = docopt(usage)

    if args['trim']:
        commenceOperation(args)
    else:
        print(usage)

我正在尝试编写一个单元测试:

import fastq_trimmer
from docopt import docopt

doc = fastq_trimmer.commenceOperation(args)

class TestTrimmer(unittest.TestCase):

    def test_exceptions(self):
        args = docopt(doc, ["/home/eliran/Desktop/example.fastq", "5"])
        self.assertEqual(args["<filePath>"], "/home/eliran/Desktop/example.fastq")
        self.assertEqual(args["<trimFactor>"], "5")

基本上,我试图从unittest文件控制args变量,这样我就可以用我在unittest文件中指定的args“注入”CLI


Tags: 文件pyselfcliifargsusageunittest