Ich habe einige Code, der beim Start die Methode collect_money
aufruft. In regelmäßigen Abständen wird die Methode collect_money
asynchron aufgerufen (ereignisbasiert usw.). Ich möchte collect_money eine Ausnahme auslösen, z. B. NoMoney
gelegentlich, aber nicht jedes Mal und definitiv nicht das erste Mal, dass es ausgeführt wird. Ist das möglich? Wenn nicht, was wäre der alternative/empfohlene Weg, um dies zu erreichen?wie Ausnahmen in rspec nur für einige Methodenaufrufe ausgelöst werden
0
A
Antwort
0
Es ist eine gute Idee, deterministische Tests zu haben, so dass ein Test bestanden oder immer konsequent fehlschlägt.
Sie können diese Methode Stummel und einen Zähler verwenden innen:
#assuming that obj has the method collect_money
allow(obj).to receive(:collect_money) do
@counter ||= 0
@counter += 1
fail NoMoney if counter > 3 # raise exception in 4th call
# ... return something useful in other cases
end
Verwandte Themen
- 1. Wie teste ich die Reihenfolge der Methodenaufrufe in rspec?
- 2. Wie behandelt man Ausnahmen, die in Filtern ausgelöst werden?
- 3. Leistung, wenn Ausnahmen nicht ausgelöst werden (C++)
- 4. Wie erhalte ich 'global' Ausnahmen, die in Objektinstanzen ausgelöst werden
- 5. Wie erhalten Sie eine korrekt verkettete Stack-Trace für Ausnahmen ausgelöst, wenn andere Ausnahmen behandelt werden?
- 6. Ausnahmen ignorieren, die in einer Bibliothek ausgelöst und abgefangen werden
- 7. Wie lokale Benachrichtigungen nur einmal ausgelöst werden?
- 8. Wie können Ausnahmen, die im Frühjahr in Filtern ausgelöst werden, verwaltet werden?
- 9. RegEx: Definieren einige Ausnahmen für den Ersatz
- 10. Wie finden Sie Ausnahmen, die für ein bestimmtes Modul in Python ausgelöst werden können?
- 11. RxJava und Retrofit - Benutzerdefinierte Ausnahmen werden je nach Serverantwort ausgelöst
- 12. Wie herauszufinden, wie viele Ausnahmen python ausgelöst
- 13. Wie eine OracleException für Testzwecke ausgelöst werden
- 14. Python-Funktion einige Ausnahmen Code
- 15. Wie wird eine benutzerdefinierte Fehlerseite angezeigt, wenn Ausnahmen für die Anforderungsüberprüfung ausgelöst werden?
- 16. Komponententest für innere Ausnahmen
- 17. Sollte der Docstring nur die Ausnahmen enthalten, die explizit von einer Funktion ausgelöst werden?
- 18. Können Perl-Methodenaufrufe abgefangen werden?
- 19. Interceptor in Angular, nur für einige Anrufe?
- 20. Yii2: ActiveRecord-Ereignisse, die nur für ein Szenario ausgelöst werden
- 21. Wie bestimmte Ausnahmen in Logback gefiltert werden
- 22. Visual Studio: Wie behandelte Ausnahmen behandelt werden?
- 23. Wie werden nur einige Zeichen in C gedruckt?
- 24. Await nur für einige Zeit in Python
- 25. Wrapping Ausnahmen ausgelöst in Super/dieser Konstruktor Aufrufe in andere Ausnahmen
- 26. Wie finde ich Methodenaufrufe?
- 27. Fang nur einige Laufzeitfehler in Python
- 28. ClassLoader-Ausnahmen werden protokolliert
- 29. Wie werden REST-Ausnahmen behandelt?
- 30. after_filter für Ausnahmen