首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在init_model中使用模型对塔架应用程序进行鼻部测试?

在init_model中使用模型对塔架应用程序进行鼻部测试?
EN

Stack Overflow用户
提问于 2009-08-27 16:29:19
回答 1查看 744关注 0票数 1

我有一个使用paster create -t pylons创建的股票架空应用程序,带有一个控制器和匹配的功能测试,使用paster controller添加,以及一个SQLAlchemy表和映射的ORM类。SQLAlchemy填充在init_model()函数中定义,而不是在模块作用域中定义(并且需要在那里)。

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

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

有没有办法修复Pylons的nose测试,或者我应该编写自己的测试脚本,直接使用unittestloadappwebtest?这方面有什么有效的例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-28 00:43:47

我会试着调试你的nosetest运行。为什么不放在:

代码语言:javascript
复制
import pdb;pdb.set_trace()

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

在PDB运行的情况下,可以使用where命令查看堆栈跟踪:

代码语言:javascript
复制
w(here)
Print a stack trace, with the most recent frame at the bottom.
An arrow indicates the "current frame", which determines the
context of most commands.  'bt' is an alias for this command.
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1342232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档