【发布时间】:2012-03-02 20:39:02
【问题描述】:
我有一个非常复杂的项目,我想对其进行测试.. 但我找不到完全测试它的方法。
项目本身就是一个django的开发环境。它由一个 Python 脚本组成,可用于创建新项目或激活开发环境。
为了激活开发环境,我使用了类似 Virtualenv 的技术。我的 python 脚本调用了一个 shell 脚本,该脚本本身就是一个 rcfile。
这听起来比实际上要复杂。工作流程如下所示:
$ cd my-project/
$ duke dev
(my-project)$
duke 是我的 Python 脚本,它调用名为 dev 的 bash 脚本。开发脚本只包含这样的一行:
#!/bin/bash . /path/to/bin/env
所以它基本上只是启动一个子shell,我在其中获取一个名为 env 的 rcfile。
env 本身负责创建开发过程中所需的所有必要命令和环境变量。
我的问题是我无法测试特定于此环境的任何内容,因为我的脚本会生成一个子进程,然后在子shell 中激活该环境。子进程关闭,子外壳保持打开状态,直到我退出它。
虽然它有效,但我找不到可靠测试它的方法。
甚至可以测试这个吗?
代码如下:
【问题讨论】:
标签: python unit-testing bash