假设我有一个共享示例组。该小组进行测试以确保网站上的每个页面都存在正确的菜单。
问题是菜单在每个页面上都不相同,只是几乎相同。例外情况是该菜单不包含指向您当前正在测试的页面的链接。因此,需要跳过该测试。作为测试套件的一个组件,我有一个完整的链接列表。
测试这个的最佳方法是什么?通常情况下,我只是有条件地生成测试,但由于它取决于包含共享示例的上下文(页面标识),所以当我获得所需信息时,为时已晚。我可以进行一次测试 link_list.each do | link | 它“应该存在于此页面上,除非此页面位于例外列表中” 如果(@ session.not_on(名单)) @ session.should not_have_link(链接) 其他 @ session.should have_link(链接) 结束 结束 端
但我认为最好避免这种模棱两可的测试。到目前为止,我将知道会发生什么样的行为,因为我可以检查会话页面是否在列表中,但我不知道如何表达。
我能做些什么来获得我想要的行为?