使用init_模型对挂架应用程序进行鼻子测试?

2024-04-26 15:06:49 发布

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

我有一个使用paster create -t pylons创建的stock Pylons应用程序,其中有一个控制器和匹配的功能测试,使用paster controller添加,还有一个SQLAlchemy表和映射的ORM类。SQLAlchemy的内容是在init_model()函数中定义的,而不是在模块范围内(并且需要在模块范围内)。在

运行python setup.py test会引发一个异常,因为nose在同一进程中以某种方式导致{}被调用两次,因此它试图创建一个已经存在的模型。在

我可以通过设置和检查init_model()内部的全局变量来解决这个问题,但是(a)我不想这样,以及(b)第三方库,比如AuthKit,动态定义模型,也会破坏测试,并且不能这么容易地更改。在

有没有一种方法可以修复塔的nose测试,或者我应该编写自己的测试脚本,直接使用unittestloadapp和{}?有这方面的例子吗?在


Tags: 模块模型应用程序model定义sqlalchemyinitcreate
1条回答
网友
1楼 · 发布于 2024-04-26 15:06:49

我会试着调试你的鼻子测试。为什么不放:

import pdb;pdb.set_trace()

init_model()函数中查看它是如何被多次调用的。在

在PDB运行时,可以使用where命令查看堆栈跟踪:

^{pr2}$

相关问题 更多 >