2016-06-30 23 views
0

Ich muss prüfen, ob einige Bedingungen erfüllt sind, bevor Sie ein Journal buchen, und wenn nicht, brechen Sie den Buchungsprozess ab.Validierung vor dem Buchen eines Sachkontenjournals

Sollte ich einen Code-Abschnitt in Klasse LedgerJournalCheckPost Methode hinzufügen: validate()?

Meine Tests funktionieren, und diese Methode wird sowohl beim Validieren als auch beim Posting aufgerufen und löst meinen Fall.

Aber gibt es einen anderen Ansatz, um so etwas zu erreichen?

+0

... Und stellen Sie sicher, dass andere Journale, die die gleichen Klassen teilen, Ihre Validierungsmethode nicht aufrufen (oder tun!). Während Tests im allgemeinen Journal bestehen können, sollte der Erwerb von Anlagen auch die Validierungsklasse aufrufen beispielsweise? –

Antwort

3

Es hängt davon ab, was Sie tun. Die validate(...) Methode bei \Classes\LedgerJournalCheckPost\validate(...) wird für die Überprüfung des Journals selbst verwendet. Wie wurde es bereits veröffentlicht? Gibt es eine Journalnummer?

Die Methode checkJournal(...) unter \Classes\LedgerJournalCheckPost\checkJournal (und verschiedene von dieser Methode aufgerufene Methoden) wird zum Überprüfen der Daten im Journal verwendet.

Sie sollten diese Methode untersuchen, um zu sehen, was für Sie am logischsten ist.

Sie würden wahrscheinlich Fehler wie dieses Posting protokollieren: ok = ledgerPostingMessageCollection.logCheckFailed(...)

in dieser Methode Schauen Sie ihre Muster zu folgen.

+0

Danke, ich denke, checkJournal Methode ist besser geeignet für meine Aufgabe .. Ich war dieses Mal in der Nähe :) –