在VirtualBox虚拟机上测试结构脚本

fabtest的Python项目详细描述


fabtest是一组帮助测试fabric的实用程序和基本测试用例 针对VirtualBox虚拟机的脚本。许可证是麻省理工学院的。

vm在每次测试之前回滚到初始状态,以便测试可以执行任何操作 对于目标系统;fabric命令可以从python运行。

安装

pip install fabtest

虚拟机

为了运行测试,您需要VirtualBox4.x和一个os映像。 映像应安装ssh服务器。

示例vm(它们可以通过文件导入到virtualbox->;导入设备):

由于VirtualBox中存在错误,最好转换导入的.vmdk磁盘映像 到.vdi图像,例如:

VBoxManage clonehd Ubuntu-10.10-disk1.vmdk Ubuntu-10.10-disk.vdi --format VDI

然后从vm分离(并移除)vmdk磁盘并附加vdi映像。

获取图像后,确保它没有运行并执行 fabtest-preparevm脚本(将虚拟机名称或uid传递给它):

fabtest-preparevm Lenny

此命令配置端口转发(127.0.0.1:2222到Guest 22端口, 127.0.0.1:8888到来宾80端口)并拍摄“Fabtest初始”快照 用于测试回滚(为了 加速测试)。

编写测试

子类fabtest.virtualboxtest或fabtest.fabtest并将fabtest.fab用于 结构命令执行:

from fabric.api import run
from fabtest import FabTest, fab

def whoami():
    return run('whoami')

class MyTestCase(FabTest):
    def test_root_login(self):
        output = fab(whoami)
        self.assertEqual(output, 'root')

查看源代码(和example/runtests.py)了解更多信息。

变化

0.1.5(2012-04-19)

  • 改进了针对VirtualBox Bug的解决方法。

0.1.4(2012-04-19)

  • 解决windows下的virtualbox错误。

0.1.3(2012-04-14)

  • 包装修复。

0.1.1(2012-03-02)

  • 更好的异常处理(保留原始回溯)。

0.1(2012-03-01)

  • 支持fabric>;=1.4(并且是必需的);
  • 更可靠的VirtualBox快照处理;
  • fab函数现在包装结构的execute和 返回单个值,而不是值列表。

0.0.8(2011-03-22)

  • 许多调整和错误修复。

0.0.1(2011-02-16)

初始实验版本(摘自django fab deploy)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java块是一个特定的数字吗?   JavaJavaX DocumentBuilder生成“双UTF8”字符集编码   java如何创建本机查询以使用@query注释连接相关表   apache poi从Excel工作表读取日期值(Java)   java如何创建正则表达式以将“String”“匹配为两个字符串   java这是允许用户进行通配符搜索的正确方法吗?   将javascript变量传递给JavaBean   minecraft如何在另一个java程序中运行java程序   java Gradle任务构建不包括安卓类的Jar   java如何使用ANTLR构建交互式解析器?   springdataelasticsearch基于java注释的审计?   java如何从json获取数据url?   eclipse中服务器项目中的java FileNotFoundException   复制验证文件是否在Java中复制   java使用Jetty限制HTTP持久连接上每秒的事务数