- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有关于 python 包和测试的问题。我正在使用 wx python 编写一个应用程序,并且具有以下用于 gui 部分的基本文件夹/包结构。 mainframe.py 窗口依赖于 logpane.py 面板,可以使用 mainframe.py 中的绝对导入轻松导入:
import guiapp.utilviews.logpane
文件夹/包布局:
mainapp
- main.py
guiapp
- __init__.py
utilviews
- __init__.py
- logpane.py
- other stuff...
mainview
- __init__.py
- mainframe.py
- other stuff here...
other views...
但是,对于应用程序的 gui 部分,除了单元测试(它们不会造成问题)之外,我还想为每个 View 提供一个小的“测试”/示例。也就是说,对于日志 Pane ,我想要一个小的可运行示例,它将启动一个裸骨应用程序,显示 View 以测试布局是否正常等。我开始的方式是我有一个
if __name__ == "__main__":
# create some small window and a wx app
# instanciate the panel and launch the app
pass
在面板/ View 本身的实际实现文件中。这为日志 Pane 创造了奇迹。我可以单独运行该文件以查看 View 并查看它是否结合在一起。
当然,mainframe.py 的策略失败了,因为无法解决对 logpane.py 的依赖。这是因为当前主模块是 mainframe.py 并且 mainframe.py 可以到达 utilviews 包的唯一方法是主/启动模块是否在树中更靠上。
那么我该如何构建这些类型的测试呢?对于单元测试,我使用 nose 这很好并且可以解决问题,因为 nose 是根据 mainapp 文件夹启动的(因此所有 intrapackage 引用都有效)。但这些测试就像小型独立程序。我不能用这些 python 文件弄乱 mainapp 文件夹(会有很多这样的文件)。有没有其他方法可以做到这一点?
任何输入都是有值(value)的。
谢谢,瑞卡德
最佳答案
您可以使用 PYTHONPATH
。在执行测试文件之前,将其设置为您的主项目目录。然后它将能够解析您的所有导入,就像您将从该目录执行一样。
$ find
.
./test
./test/test.py
./some
./some/__init__.py
$ cat some/__init__.py
x = 10
$ cat test/test.py
import some
print some.x
$ cd test
$ export PYTHONPATH=..
$ python test.py
10
关于python - python 和 GUI 测试中的包内引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2536335/
我在一个 twig 模板中使用 Assetic 来指定要从我的包中使用的 2 个 JS 文件 { % javascripts '@JiraExtendedReportsBund
我正在做一个 VS 包,它在菜单中有一个 DynamicItemStart 按钮。我在 VS 启动时加载动态按钮的内容没有任何问题,但我试图在某些事件(例如打开项目)之后向其内容添加更多命令。我将新命
需求是从plsql调用java方法,我可以通过loadjava命令来实现它。我遵循的步骤是: 第 1 步:创建 Java Class/jar 文件并将其放置在 Unix 机器上 第2步:将Java C
我是一名优秀的程序员,十分优秀!