我编写了很多步骤,导致我对代码中的 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/