Rspec:仅在会话条件为真时运行测试

时间:2011-10-19 15:10:47

标签: ruby testing rspec

假设我有一个共享示例组。该小组进行测试以确保网站上的每个页面都存在正确的菜单。

问题是菜单在每个页面上都不相同,只是几乎相同。例外情况是该菜单不包含指向您当前正在测试的页面的链接。因此,需要跳过该测试。作为测试套件的一个组件,我有一个完整的链接列表。

测试这个的最佳方法是什么?通常情况下,我只是有条件地生成测试,但由于它取决于包含共享示例的上下文(页面标识),所以当我获得所需信息时,为时已晚。我可以进行一次测试     link_list.each do | link |     它“应该存在于此页面上,除非此页面位于例外列表中”       如果(@ session.not_on(名单))         @ session.should not_have_link(链接)       其他         @ session.should have_link(链接)       结束     结束     端

但我认为最好避免这种模棱两可的测试。到目前为止,我将知道会发生什么样的行为,因为我可以检查会话页面是否在列表中,但我不知道如何表达。

我能做些什么来获得我想要的行为?

0 个答案:

没有答案