FitNesse Wiki 语法大全:从基础到高级的完整参考
FitNesse 作为一款强大的验收测试 Wiki 工具,其核心在于通过简洁直观的 Wiki 语法来编写和管理测试用例。本文将系统梳理 FitNesse 的常用语法,帮助新手快速掌握从基础文本格式化到高级测试表格的完整使用方法。
基础文本格式化语法 📝
标题层级
FitNesse 使用 ! 符号定义标题层级,从 !1(一级标题)到 !6(六级标题):
!1 一级标题
!2 二级标题
!3 三级标题
这种层级结构有助于组织测试文档,使页面逻辑清晰。
文本样式
- 粗体:使用
!-和-!包裹文本,如!-这是粗体文本-! - 代码样式:使用
!style_code()函数,如!style_code(http://<host>:<port>/<suite path>?responder=suite) - 注释:以
!c开头的行将被视为注释,不会在页面中显示
变量定义与使用
通过 !define 定义变量,使用 ${变量名} 引用:
!define numerator {10}
!define denominator {2}
!define result {${= ${numerator} / ${denominator} =}}
变量支持数学计算和字符串拼接,是实现测试数据动态化的基础。
高级内容组织功能 🔧
目录生成
使用 !contents 指令自动生成页面目录:
!contents -R4 -g -p -f -h
参数说明:
-R4:递归显示4级标题-g:包含页面名称-p:显示页面路径-f:折叠子目录-h:使用层次结构显示
页面包含
通过 !include 指令在当前页面嵌入其他页面内容:
!include >VariablesRedefinedMultipleTimesOnSamePageAndUsedInSubpage
这一功能非常适合复用测试 setup/teardown 代码或共享测试数据。
链接与引用
使用 !see 创建内部页面链接:
!see .MyProject.MyFeature.IterationOne.StoryOne.TestCaseOne
链接路径采用点分隔的层次结构,与 Wiki 页面组织方式一致。
测试表格语法 🧪
决策表(Decision Table)
决策表是 FitNesse 最常用的测试表格类型,用于定义输入输出关系:
!|ImportFixture |
|fitnesse.fixtures |
!|DecisionTable|
|input|expectedOutput|
|1 |2 |
|3 |6 |
脚本表(Script Table)
脚本表用于描述一系列操作步骤:
!|script|calculator|
|push |5 |
|push |+ |
|push |3 |
|equals |8 |
混合决策表(Hybrid Decision Table)
通过 !define 自定义决策表的 getter/setter 方法映射:
!define SLIM_DT_GETTER (!-
public String get${column}() {
return data.get("${column}");
}-!)
!define SLIM_DT_SETTER (!-
public void set${column}(String value) {
data.put("${column}", value);
}-!)
特殊指令与高级功能 ⚙️
图片嵌入
使用 !img 指令插入图片:
!img http://files/images/runArrow.gif
注意:实际使用时应替换为项目内的相对路径图片
条件执行
通过 !meta 指令控制内容显示条件:
!meta if you like use in addition colours or other markup
符号系统
FitNesse 支持跨表格传递数据的符号系统:
!|Script|symbol fixture|
|create|symbol|value=10|
|check|symbol|10|
!|DecisionTable|another fixture|
|input|output?|
|${symbol}|20|
实用示例与最佳实践 ✨
测试套件组织
使用标签(Tags)对测试用例进行分类:
!3 Suite Tags
!style_code(http://<host>:<port>/<suite path>?responder=suite&runTestsMatchingAnyTag=smoke,critical)
参数化场景
定义可复用的参数化场景:
!|scenario|add|a|and|b|should be|c|
|given calculator|
|push|@a|
|push|+|
|push|@b|
|equals|@c|
!|script|
|add|2|and|3|should be|5|
|add|10|and|20|should be|30|
变量作用域管理
通过页面包含实现变量作用域控制:
!define denominator {2}
!include TestWithVariable
!define denominator {2.5}
!include TestWithVariable
掌握这些语法将帮助你充分利用 FitNesse 的强大功能,编写出清晰、可维护的验收测试。更多高级用法可以参考项目中的测试用例示例,如 SuiteSlimTests 目录下的各类测试场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



