Dois-je tester les méthodes privées à l'aide de RSpec?

Est-il de bonnes pratiques pour écrire des tests pour les méthodes privées?

Considérons l'exemple simple suivant:

class Group
  has_many :members

  private

  def release_members
    members.each { |member| member.update_attributes group_id: nil }
  end
end

Serait-il de bonnes pratiques pour écrire un test pour la release_members méthode dans RSpec? Je crois que vous devriez écrire le test d'appeler la méthode avec envoyer ie. group.send(:release_members) qui est parfois mal vu.

  • Il semble que ruby coquins a un podcast par Sandi Metz qui parle de ce sujet dans le rubyrogues.com/.... L'argument est que vous pouvez tester la méthode privée si vous le souhaitez (même éventuellement supprimer le test), mais le plus important est l'interface publique qui a appelé la méthode privée.
InformationsquelleAutor tyler.amos | 2013-04-24