功能测试框架。

saddle的Python项目详细描述


saddle是一个基于python的unittest的黑盒测试框架,它可以帮助您为任何软件编写简单易读的功能测试。

*几乎用任何
语言*(php、java等)编写。它特别适合于测试构建在许多交互服务上的软件。会有bug潜伏,api可能会发生变化。但是,由于很少有人使用它,我将很快提供
支持,并在此期间对功能请求更加开放。它已经在ubuntu上进行了最多的测试,但是应该可以在mac os x上运行,并且(部分)可以在windows上运行。


目前有一些模块将运行postgresql、django、redis和模拟smtp服务器(saddlesmtp)。尽管编写您自己的模块很容易。
也欢迎包含新模块的请求。




Getting Started
===



*使用saddle和django、芹菜、redis和postgresql开始测试(不完整)

给我打个电话。




它是怎么工作的?
======


saddle的核心是服务引擎,它同时运行一个或多个服务。


服务类似于postgresql、django、redis,芹菜或任何正在测试和/或系统运行所需的


服务引擎负责在测试开始前(并行地):

*准备和启动服务。
*安装设备(数据库、设置文件,等)。
*确定服务和应用程序准备就绪。

测试期间:

*聚合服务日志并将其呈现给用户。
*更改服务视为测试所需的系统时钟时间。
*检测错误条件/过早停止的服务。
*“快照”和跳过部分测试以获得更快的反馈。
*在用户请求的地方暂停并进入ipython shell。

测试完成后:

*在服务结束后关闭并清理。




在适用的情况下遵循这些原则:

*松耦合
*快速失效
*干燥
*良好测试的首要原则:
**快速
**隔离
**可重复
**自我验证
**及时





警告和已知问题
==问题:
**不适用于node。js
**不适用于java
**不适用于windows

*除了ubuntu 14.04.2 lts(内核版本:3.13.0-49.81),saddle没有在windows、mac os、bsd或linux发行版上进行过测试。请
报告您在特定操作系统上遇到的任何问题。

*Saddle已在Django 1.8版中测试过,但不是更早的版本
,DjangoService可能无法与它们一起工作(但很容易适应)。

*在结束前按CTRL-C键有时可能会使服务保持活动状态,并
拧紧终端。

*在以前的测试运行中保持活动状态的服务在重新启动之前没有被正确地终止。


*每次运行测试(如果使用faketime)之前都应手动清除.saddle目录。

*在测试中出现异常后打印的堆栈跟踪(在显示ipython之前)不包含错误。

*代码覆盖了大量的文档字符串。

*安装过程中发生的错误不会立即导致测试失败,因为直到超时。

*将不会与nosetest一起运行。

*仅在python 2上有效。



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

推荐PyPI第三方库


热门话题
java IOException:未找到springxml   ide Eclipse:对不同的项目使用相同的输出文件夹   Java检查平衡圆括号   java Android RecyclerView错误   java Heroku JAXRS POST   在IDE中使用ApachePOI将java导出到excel是可行的,但当我创建runnable jar时就不行了   outlook无法以Java编程方式更新定期会议   通过java和tomcat(本地主机)发送电子邮件   java Random在2个周期内,我需要重新初始化吗?   java Spring JPA Cascade。ALL不会删除父对象   搜索如何在Java中从对象中查找特定属性   java@Schedule在随机时刻执行   Java代码格式linter   java创建entitymanager的最佳实践   java为什么Hibernate希望复合主键有一个单独的表?(@EmbeddedId)   子[Firebase数据库Android]中的java orderByValue   java避免两次注销表单服务安卓   如何将Jess(.jar文件)库转换为。dex文件,还是在Android上运行java类文件?