基于模型的测试
为了自动化执行基于模型的测试用例,您需要为模型中的每个步骤定义一个实现。每个模型都包含一个同名的伴随脚本文件。例如,模型文件命名为 example.mbtmodel
,脚本文件命名为 example.py
、example.js
、example.pl
、example.rb
或 example.tcl
,具体取决于您选择的脚本语言。
在模型文件中遇到每个步骤时,Squish 都会尝试在脚本文件中找到与步骤文本匹配的模式。
使用 Step
定义步骤实现
步骤实现通过调用预定义的 Step
函数来定义。一个简单的定义如下
@mbt.step("Start the address book") def step(): startApplication("Addressbook")
mbt.step("Start the address book", function() { startApplication("Addressbook"); });
mbt::step("Start the address book", sub { startApplication("Addressbook"); });
Mbt::step("Start the address book") do Squish::startApplication("addressbook") end
mbt step "Start the address book" {} { startApplication "Addressbook" }
在此示例中,匹配 "启动通讯录" 模式的步骤将导致 Squish 执行以下代码。
startApplication("addressbook")
startApplication("addressbook");
startApplication("addressbook");
Squish::startApplication("addressbook")
startApplication addressbook
步骤文本
步骤文本必须与模式完全匹配。匹配是锚定到开始和结束的。其前后不应有任何文本。
限制
在基于模型的测试中定义使用 Step
函数的步骤与在行为驱动测试中定义步骤相比有限。在步骤模式中无法使用占位符或正则表达式。
运行测试用例
您可以使用 mbt.runTestCase
函数来执行基于模型的测试用例,如下例所示。要使用此函数,您需要提供测试用例文件的名称作为参数。
mbt.runTestCase("test.mbttest")
mbt.runTestCase("test.mbttest");
mbt::runTestCase("test.mbttest");
Mbt::runTestCase("test.mbttest")
mbt runTestCase "test.mbttest"
©2024 Qt 公司有限公司。本节中包含的文档贡献归各自的所有者所有。
本手册中的文档根据 Free Software Foundation 发布的 GNU 自由文档许可证版本 1.3 的条款颁发。
Qt 和相关徽标是芬兰的 Qt 公司以及全球其他国家的商标。所有其他商标都是其各自所有者的财产。