Os do ActiveRecord dos match-matchers violam a regra "testar o comportamento, não implementar"?

Por exemplo, se eu estiver usandoshould validate_presence_of na minha especificação, isso é apenas um teste que eu tenhovalidate_presence_of parte do código dentro do meu modelo, e isso está testando a implementação. Mais importante, essa especificação não é totalmente inútil para testar o problema real, que é "se eu não preencher um determinado campo, o modelo será salvo com sucesso?"