一般来说,我对单元测试比较陌生,我正在尝试为我用Python开发的脚本生成单元测试。该脚本被设计为接受一个数据文件和几个命令行参数,然后在更新数据库时按顺序运行几个函数。例如,下面是脚本的运行方式:
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Script to process data files')
parser.add_argument('-f', help='The absolute file_path to the source file')
args = parser.parse_args()
main(args)
def main(args):
file_info = get_file_info(args)
process1(args, file_info)
process2(args, file_info)
def file_info(args):
file_info = {'path':args.file_path...}
...
return file_info
def process1(args):
#update database1
...
def process2(args):
#update database2
...
如您所见,process1和process2是用来修改数据库的,而不是返回值,所以检查它们是否正常工作的唯一方法就是检查数据库,看看它是否具有正确的值。我可以在单元测试中很容易地做到这一点,但是我想在对main函数的单独调用上运行类似的单元测试。所以我希望我的单元测试看起来像这样:
^{pr2}$get_file_info()
函数返回一个字典,因此我可以测试它。在
然后我要运行我的脚本的一些预期结果。我能像这样在Test_Load类中调用我的脚本main吗?还有没有更好的方法来分组这些单元测试,这样它们就可以独立运行了?在
目前没有回答
相关问题 更多 >
编程相关推荐