在页面上测试特定文本会呈现代码味道吗?

时间:2013-06-21 21:48:27

标签: ruby-on-rails-3 unit-testing testing rendering

偶尔,我会发现其他人依赖特定文本写在页面上的测试(即成功消息,空警告等)

我发现这些令人反感,通常会用特定选择器的测试(即。#success-message.error)或I18n值(即I18n.t('foobar.success')或{替换它们。 {1}})

后者似乎更具前瞻性,因为如果副本发生变化,那么我的测试不会失败。但是,有些人认为,如果你不小心改变了消息,那么它就不会被视为失败。

使用我不知道的这类东西时是否有标准做法?

1 个答案:

答案 0 :(得分:0)

我在测试中都做了两件事:检查选择器并检查复制。如果由于副本更改而导致测试失败,则很好。它的维护要多一些,但是更改副本的人也应该运行测试,或者你应该有一个持续的集成设置,以便在测试失败时立即通知。

如果你开始运行a / b或多变量测试会变得有点复杂,但它并非不可克服......就像我说的那样,只需要更多的维护。

IMO,维护与代码覆盖信心的权衡是值得的。