我有一个非常复杂的项目,我想测试..但我找不到如何完全测试它。
项目本身就是django的开发环境。它由一个Python脚本组成,可用于创建新项目或激活开发环境。
要激活开发环境,我使用类似Virtualenv的技术。我的python脚本调用一个shell脚本,它本身就是一个rcfile。
这听起来比实际更复杂。工作流程如下:
$ cd my-project/
$ duke dev
(my-project)$
duke是我的Python脚本,它调用名为dev的bash脚本。 dev脚本只包含这样一行:
#!/斌/庆典 。 /路径/为/ bin / env的
所以它基本上只是启动一个子shell,我在其中获取一个名为env。
的rcfileenv本身注意创建开发时所需的所有必要命令和环境变量。
我的问题是我无法测试任何特定于此env的内容,因为我的脚本会生成一个子进程,然后在子shell中激活env。子进程关闭,子shell保持打开状态,直到我退出。
虽然它有效但我找不到可靠测试它的方法。
甚至可以测试一下吗?
以下是代码:
答案 0 :(得分:1)
您运行的任何脚本都将始终生成子shell。
在启动python代码之前,应该在命令行上或作为生成python的相同脚本的一部分调用. %(base_path)s/.duke/bin/env
。
不要忘记导出可能在子流程中使用的变量和函数。