Senfgurke 是 VBA 的示例驱动测试框架。这意味着什么?使用 Senfgurke,您可以将以自然语言给出的示例转换为由 VBA(Visual Basic for Applications)运行的自动化测试。
提防!这项工作正在进行中。未来的版本可能会破坏旧版本的测试自动化代码!
想象一下,有人要求您为 Excel 编写一个新的“特殊”求和函数,通过以下示例将结果加 1:
Example: add +1 to sum
Given a is 2
And b is 3
When sum+1 is applied to a and b
Then the result is 6
您现在可以将此示例添加到功能中,并将名为“sum_plus_one.feature”的文件中的所有内容保存到名为“features”的目录中。该目录应与包含 VBA 代码的 Office 文件位于同一位置。
如果您第一次运行 Senfgurke,它会建议您添加一个新函数,如下所示:
Public Sub Given_a_is_INT_C722764574FB(step_parameters As Collection)
'Given a is 2
End Sub
请不要与函数名称的 C722764574FB 部分混淆。此哈希值有助于 Senfgurke 将函数与示例中的原始步骤进行匹配。现在您需要用代码填充该函数,以便您可以测试新函数以确保 sum+1 返回正确的结果。
当您对示例的每个步骤重复此操作并运行 Senfgurke 时,您可能会在控制台上收到以下消息:
Feature: sum plus one
Rule: add one to sum results
Example: add +1 to sum
OK Given a is 2
OK And b is 3
OK When sum+1 is applied to a and b
OK Then the result is 6
这样 Senfgurke 会告诉您代码是否成功或导致任何错误。
Senfgurke 作为特定于应用程序的插件提供。这样您就可以轻松地将被测应用程序和 Senfgurke 测试框架分开。要启动新的 VBA 应用程序,请按照下列步骤操作:
以下事件图将解释当您要求 Senfgurke 执行您的功能时会发生什么。
测试通常从 VBA 控制台窗口启动。通过这种方式,您可以添加标签或过滤器(针对文件名),以将测试运行限制为特定标签或功能文件。
Senfgurke 要做的第一件事是查找特征文件并将其加载到内存中以供后续处理。
将所有功能存储在内存中使 Senfgurke 更容易将 Gherkin 语言翻译(解析)为详细的指令以供以后执行。例如,在测试开始时设置的没有匹配标签的示例可能会在以后执行时被忽略,或者来自某个功能的后台步骤将被添加到该功能中的每个示例(也称为场景)中。
下一步显然是执行上一步中的所有详细执行指令。这还包括返回执行的所有结果。
在执行上述功能的同时,结果将以不同的格式报告。默认为详细格式,只需将执行结果添加到示例的每个步骤即可将 Gherkin 功能写入 VBA 控制台窗口。
在每次测试运行结束时,Senfgurke 都会添加一些统计信息,例如持续时间和执行示例步骤的数量。
有关更详细的文档,请参阅 Senfgurke 的功能文件,从功能索引器生成的索引开始。
FMC 框图显示典型设置由三层组成:
有关一些一般决策,请参阅架构决策日志。
分层架构应确保 Senfgurke 提供的功能与应用程序逻辑分离。
待定