我不明白如何在以下代码中遵守TDD FIRST原则.
以下是关于FIRST原则的说明:
- 快速:快速运行(子集)测试(因为您将一直运行它们)
- 独立:没有测试依赖于其他测试,因此可以按任何顺序运行任何子集
- 可重复:运行N次,得到相同的结果(以帮助隔离错误并启用自动化)
- 自检:测试可以自动检测是否通过(没有人工检查输出)
- 及时:与被测代码同时写入(使用TDD,先写!)
测验问题:
莎莉希望她的网站在每个月的第一个星期二有特别的布局.她有以下控制器和测试代码:
Run Code Online (Sandbox Code Playgroud)# HomeController def index if Time.now.tuesday? render 'special_index' else render 'index' end end # HomeControllerSpec it "should render special template on Tuesdays" do get 'index' if Time.now.tuesday? response.should render_template('special_index') else response.should render_template('index') end end没有遵循什么第一原则?
- 快速
- 独立
- 重复
- 自检
- 及时
我不确定哪个FIRST原则没有被遵守:
'special_index'如果它是星期二,'index'如果它不是星期二.我在测验中选择了Timely,因为测试代码是在控制器代码之后呈现的.但我提出的问题是错误的,回想起来,这不是一个好的选择.我不确定这里没有遵循哪个FIRST原则.
Cla*_*edi 37
它Repeatable不是每天都是星期二:)如果你在星期一进行这个测试你会得到一个结果,如果你在星期二运行它,不同的一个.