Die einfache Antwort lautet: Sie schreiben keine Methode, die 6 Parameter benötigt.
Mit anderen Worten: Wenn Sie sauberen Code lesen (zum Beispiel durch das ausgezeichnete Buch mit diesem Namen von Robert Martin studieren und anderen) Sie werden feststellen, dass eine so hohe Anzahl von Parametern absolut ist entmutigt.
Und bitte verstehen: nicht nur, weil man so viele Permutationen Test - aber darüber hinaus: Diese Parameter sind wahrscheinlich alle in Ihrem Produktionscode verwendet.
In diesem Sinne ist die wirkliche Antwort nicht, wie man solche Methoden vernünftig prüft. Es ist: Sie können solche Methoden nicht vernünftig testen; Sie können sie nicht vernünftig implementieren, also sollten Sie sie nicht schreiben.
(Bitte beachten Sie: Dieses über Methoden, die Entscheidungen auf der Grundlage der Parameter vornehmen müssen, wenn Sie sagen, sie nur zum Beispiel drucken Sie es eine etwas andere Geschichte sein würde)
Wie auf wie viele, Lassen Sie uns das oben genannte Buch zitieren:
Die ideale Anzahl von Argumenten für eine Funktion ist Null (Niladic). Als nächstes kommt eins (monadisch), dicht gefolgt von zwei (dyadisch). Drei Argumente (triadisch) sollten nach Möglichkeit vermieden werden. Mehr als drei (polyadic) erfordern eine ganz spezielle Begründung - und sollten dann nicht verwendet werden.
Und bitte beachten: Dies ist unabhängig der zugrunde liegenden Programmiersprache!
Für ältere Code, empfehle ich eine zwei gefaltete Ansatz. Zuerst konzentrieren Sie sich auf den öffentlichen Vertrag dieser Methode. Bedeutung: Sie versuchen zu verstehen, "was reingeht" und "was ausgeht". Dann könnten Sie einige Überdeckungsmessungen durchführen und möglicherweise weitere Tests hinzufügen (zugeschnitten auf bestimmte Pfade innerhalb dieser Methode). Aber für den Rekord: Sie schreiben Tests, um Ihnen Refaktor solche Legacy-Code zu ermöglichen.
Darüber hinaus: ein anderer Ansatz könnte in Tests auf der Idee QuickCheck Basis zu suchen sein. Bedeutung: Sie geben Eigenschaften Ihrer Methode an, und dann erstellt das Framework zufällige Parameter für Sie und versucht, Situationen zu finden, die zu Fehlern führen (in Bezug auf diese Eigenschaften).
Es gibt sicher andere. Aber ich habe vor kurzem eine Präsentation über tdd gehalten, und mir wurde klar, dass ich hier kein Antwortabzeichen für den TDD-Tag habe. Also habe ich dieses Tag zu meiner Liste von Tags hinzugefügt; und ja, ich komme regelmäßig vorbei ;-) – GhostCat