specflow - 措辞 Specflow 场景

标签 specflow

我编写了很多步骤,导致我对代码中的 Arrange 和 Assert 步骤感到困惑。

例如:

given file A exists
when I rename it 
then file B exists

我的代码的安排部分应该创建一个文件,而我的代码的断言部分应该测试文件是否存在

但是,因为这两个步骤都翻译为“文件 X 存在”,所以我一直感到困惑,并在我的排列步骤中编写断言代码。

我怎样才能更好地表达事物以免感到困惑?

我考虑过在规范流程的排列部分使用现在时 例如

given I make file A

然而,人类可读的方面感觉不太对劲。

最佳答案

在你的给定和你的那时,你表达了不同的意图。 文件 A 存在 非常简洁,但不太适合与其他人交流。

cucumber 的写法有很多种。对我来说,在表达“THEN”部分时我想到的是“应该发生什么”——“应该”对我来说是重要的词。

怎么样

Given a file named "0001.mpg" exists
When I rename "0001.mpg" to "dance competition finals.mpg"
Then a file named "dance competition finals.mpg" should exist

语法上:

  • 给定...存在 - 是简单现在时 - 即现在是这样,并且不以任何条件为条件。
  • 那么...应该存在 用现在时表达必然性 - 即,如果您立即检查,那么它应该如此。 (根据english stackexchange,“应该”是一个“道义”情态动词)

关于specflow - 措辞 Specflow 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24967236/

相关文章:

selenium - 为并行执行设置 selenium webdriver

visual-studio-2015 - VS2015 specrun 集成

c# - 在 SpecFlow 步骤文件中使用依赖注入(inject)

c# - Specflow测试步骤继承导致 "Ambiguous step definitions"

c# - (如何)可以使用 Autofac 作为 IoC 容器运行 Specflow 测试用例?

visual-studio-2013 - 在 Visual Studio 2013 中使用编码 ui 运行 Specflow 测试时未找到文件异常

code-reuse - Specflow 和重用另一个功能的步骤

c# - 有人成功地将 SpecFlow 与 xUnit 2.0 一起使用了吗?

c# - 如何使用 UI 自动化检查菜单项?

nunit - 通过Nuget的SpecFlow.NUnit:缺少对nunit.core的引用