这是命令 cmdtest 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
cmdtest - Unix 命令行工具的黑盒测试
概要
测试 [-c指挥[- 命令=指挥[--配置=文件[--转储配置]
[--转储设置名称[--生成手册页=版型[-h[ - 帮帮我[--全部帮助]
[--列表配置文件[- 版[--无默认配置[--转储内存配置文件=方法]
[-k[- 保持[--不保留[- 日志=文件[--日志保持=N[--日志级别=LEVEL[--对数最大值=尺寸]
[--日志模式=MODE[--内存转储间隔=SECONDS[- 输出=文件[-t测试[- 测试=测试]
[--计时[--无时间[文件] ...
商品描述
测试 黑盒测试 Unix 命令行工具。 给定一些测试脚本,它们的输入,
和预期输出,它验证命令行是否产生预期输出。 如果
不是,它报告问题,并显示差异。
每个测试用例 FOO 由以下文件组成:
脚本文件
运行测试的脚本(这是必需的)
标准输入
提供给标准输入的文件
foo.stdout
预期输出到标准输出
foo.stderr
标准错误的预期输出
退出
预期的退出代码
foo.setup
在测试之前运行的 shell 脚本
foo.teardown
测试后运行的 shell 脚本
通常,一次测试是不够的。 所有测试都放在同一个目录中,并且它们
可能会分享一些设置和拆卸代码:
设置一次
在任何测试之前运行一次的 shell 脚本
格局 在每次测试之前运行的 shell 脚本
拆除
每次测试后运行的 shell 脚本
拆解一次
在所有测试之后运行一次的 shell 脚本
测试 给出包含所有测试的目录的名称,或几个这样的
目录,它执行以下操作:
· 执行 设置一次
· 对于每个测试用例(唯一前缀 FOO):
- 执行 格局
- 执行 foo.setup
— 执行命令,通过运行 脚本文件, 并将标准输入重定向到
来自 标准输入, 并捕获标准输出以及错误和退出代码
- 执行 foo.teardown
- 执行 拆除
— 报告测试结果:退出代码是否匹配 退出, 标准输出匹配
foo.stdout, 和标准误差匹配 foo.stderr?
· 执行 拆解一次
除了 脚本文件,所有这些文件都是可选的。 如果安装或拆卸脚本是
丢失,它根本没有执行。 如果标准输入、输出或错误文件之一
丢失,它被视为空的。 如果缺少退出代码文件,则是
将其视为指定的退出代码为零。
shell 脚本可能会使用以下环境变量:
数据目录
测试可以在其中创建文件的临时目录
测试名
当前测试的名称(对于 设置一次 和 拆解一次)
资源目录目录 从哪个目录 测试 推出
配置
-c, - 命令=指挥
为向后兼容而忽略
--生成手册页=版型
抑制帮助
-h, - 帮帮我
显示此帮助信息并退出
-k, - 保持
保留有关故障的临时数据
--不保留
与 --keep 相反
- 输出=文件
将输出写入 FILE,而不是标准输出
-t, - 测试=测试
只运行 TEST(可以多次给出)
--计时
报告每次测试需要多长时间
--无时间
与 --timings 相反
- 版
显示程序的版本号并退出
配置 档 和 设置
--配置=文件
将 FILE 添加到配置文件
--转储配置
写出整个当前配置
--转储设置名称
抑制帮助
--全部帮助
显示所有选项
--列表配置文件
抑制帮助
--无默认配置
清除要读取的配置文件列表
记录
- 日志=文件
将日志条目写入 FILE(默认为根本不写入日志文件); 使用“系统日志”
记录到系统日志,“stderr”记录到标准错误输出,或“none”记录到
禁用日志记录
--日志保持=N
保留最后 N 个日志 (10)
--日志级别=LEVEL
日志级别,调试、信息、警告、错误、严重、致命之一(默认值:调试)
--对数最大值=尺寸
旋转大于 SIZE 的日志,从不为零(默认值:0)
--日志模式=MODE
将新日志文件的权限设置为 MODE(八进制;默认 0600)
性能表现
--转储内存配置文件=方法
使用 METHOD 进行内存分析转储,它是以下之一:none、simple 或 meliae
(默认:简单)
--内存转储间隔=SECONDS
使内存分析转储至少相隔 SECONDS
例
为了测试 回音(1) 命令输出预期的字符串,创建一个名为 回声-
测试/hello.script 包含以下内容:
#!/ bin / sh的
回声你好,世界
还要创建文件 回声测试/hello.stdout 包含:
你好,世界
然后你可以运行测试:
$ cmdtest 回声测试
测试 1/1
1/1 测试正常,0 次失败
如果您将标准输出文件更改为其他文件, 测试 将报告差异:
$ cmdtest 回声测试
失败:你好:标准输出差异:
--- 回声测试/hello.stdout 2011-09-11 19:14:47 +0100
+++ echo-tests/hello.stdout-实际 2011-09-11 19:14:49 +0100
@@ -1 + 1 @@
-别的东西
+你好,世界
测试 1/1
0/1 测试正常,1 次失败
而且, 回声测试 目录将包含实际的输出文件,并与
预期的文件。 如果实际输出文件之一实际上是正确的,您可以
实际上将其重命名为预期的文件。 其实这是一个很方便的方式
创建预期的输出文件:您运行测试,修复问题,直到您手动
检查实际输出是否正确,然后重命名文件。
使用 onworks.net 服务在线使用 cmdtest