假设厨师可以制作食谱,副厨师长可以制作必须由主厨批准的食谱。
您想测试一下,当主厨查看她的主页时,她会看到她自己创建的食谱。您还想测试她是否看到有等待她批准的食谱。
我可以想到两种方法来做到这一点:
- 测试视图是否包含某些字词,例如“您的食谱”和“正在等待您批准的食谱”
- 向您正在使用的 html 元素添加不必要的属性,以便您可以检查具有“id=recipe_1”或“data-for-the-sake-of-testing=1”的元素
我非常不喜欢这两种方法。
为什么方法#1很烂
- 令人难以置信的脆弱测试。每次您想对副本进行小幅更新时,测试都会中断。
- i18n? 这种方法将如何发挥作用?
可能还有更多的原因,但这两个是相当大的。
为什么方法#2很烂
仅仅为了测试而有多余的标记是多么烦人!用户不应该为了测试而增加下载大小。
对此有什么好的方法?我很想听听任何替代方案,无论您使用哪种语言。我主要使用 Ruby、Test::Unit、Minitest、RSpec 和 Cucumber(尽管我的 Cuke 技能已经过时),但如果其他语言/框架弄清楚了,我也很想看看他们在做什么。