gpt4 book ai didi

包含自己的单元测试的 Python 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:18 26 4
gpt4 key购买 nike

我有一个小的 Python 脚本,我想添加一些测试。

对于一个更大的系统,我会拥有模块,并将测试与被测系统分开,但对于这个小东西,我想将它们全部保存在一个 .py 文件中。然后我可以运行:

> foo.py --test

运行测试和

> foo.py

正常运行我的脚本。

我做到了这一点:

import unittest
import sys
import argparse

def main():
parser = argparse.ArgumentParser()
parser.add_argument("--test", action="store_true")
args = parser.parse_args()

if (args.test):
return unittest.main()

class TestBasicFunction(unittest.TestCase):
def test(self):
self.assertTrue(True)

if __name__ == '__main__':
sys.exit(main())

但它失败了,因为 unittest.main() 试图解析我的脚本的参数。

我对单元测试框架不挑剔。 py 测试,nose,什么都行。

我该怎么做?

最佳答案

注意有reasons you might want to consider separating unittests from the code it is testing .

但是,您可以这样做:

import unittest
import sys
import argparse

def main():
parser = argparse.ArgumentParser()
parser.add_argument("--test", action="store_true")
args = parser.parse_args()
print(args)
if args.test:
sys.argv.remove('--test')
return unittest.main(argv=sys.argv)

class TestBasicFunction(unittest.TestCase):
def test(self):
self.assertTrue(True)

if __name__ == '__main__':
sys.exit(main())

关于包含自己的单元测试的 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46505806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com