我写了很多步骤,导致我在代码中的Arrange和Assert步骤之间感到困惑。
例如:
given file A exists
when I rename it
then file B exists
我的代码的排列部分应该是一个文件,我的代码的Assert部分应该测试文件的存在
然而,因为这两个步骤都翻译为"文件X存在"我一直感到困惑,并在我的安排步骤中编写断言代码。
我怎样才能更好地说明事情,以免我感到困惑?
我想过在specflow的Arrange部分使用现在时 例如
given I make file A
然而,人类可读的方面感觉不对。
答案 0 :(得分:4)
在你的给定和你的当时你表达了不同的意图。 File A exists
非常简洁,但与其他人交流并不是很好。
写黄瓜有很多种方法。对我而言,我在考虑时会考虑这个问题"那么"零件是"应该发生什么" - "应该"对我来说是重要的一句话。
怎么样
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
从语法:
Given ... exists
- 处于简单现在时 - 即现在这是真的,并且不以任何条件为条件。Then ... should exist
表示现在时的必要性 - 即如果你现在立即检查,那么它应该是这样。 (""是" deontic"模态动词,根据english stackexchange)