Gibt es eine Möglichkeit, SNS lokal zu instanziieren, um Komponententests ausführen zu können? Ich weiß DynamoDB kann lokal mit DynamoDBLocal instanziiert werden, unterstützt SNS das gleiche? Wenn ja, kann mir jemand die Dokumentation zur Verfügung stellen? Danke im Voraus.So testen Sie SNS lokal in einer IDE wie Intellij (für Komponententests)
Antwort
Leider gibt es dort keine SNS-Implementierung, die lokal ausgeführt wird. Daher müssen Sie Ihre Tests mit einem Dienstprogramm wie Mockito durchführen.
Nein, derzeit bietet AWS keine Möglichkeit, SNS lokal auszuführen. Es gibt jedoch einige Dinge, die wir tun können, um sicherzustellen, dass unsere Anwendung eine gute Testabdeckung bietet.
Drei Dinge, die ich gefunden habe
- Integration Konto
- Mocks
- FakeSNS
Amazon bietet keine Sandbox-Bereich zum Testen von Anwendungen gegen. Es gibt jedoch nichts, was uns davon abhält, Ereignisse gegen eine Integrationsschicht zu registrieren. Registrieren Sie ein Thema bei AWS, namens "NewAccountEvent-Dev", und geben Sie dieses Thema für Integrationstests an. Dadurch wird sichergestellt, dass die Anwendung Anforderungen an AWS ordnungsgemäß erstellt.
Mit Mocks testen Sie nicht, wenn AWS seine Spezifikationen erfüllt; Sie testen, ob Ihre Anwendung korrekt auf die von SNS erzeugten Antworten reagiert. Sie werden die Antworten manuell einrichten und beginnen, Ihre Tests gegen einen gefälschten HTTP-Dienst zu schreiben. Es gibt viele Tools, die Ihnen dabei helfen. Sprache & Framework wird Ihnen helfen, zu entscheiden, was Sie verwenden sollten.
Ich habe diesen Service nie selbst benutzt, aber ich bin auf FakeSNS gestolpert. Wenn Sie eine Anwendung schreiben, die stark in SNS integriert ist. dh. Löschen, Erstellen, Umgang mit Berechtigungen usw. Dieses Projekt wäre ein guter Blick auf. Im Moment scheint es nicht viel GitHub-Aktivität zu geben.
Eine weitere gute gefälschte implemnetation von SNS ist https://bitbucket.org/atlassian/localstack
Localstack mehrere gefälschte Implementierungen von amazon aws Dienste zur Verfügung stellt. Ich benutze es, um die vollständige sns/sqs Kommunikation lokal und auf CI zu testen. Funktioniert perfekt.
- 1. So testen Sie aws Lambda-Funktionen lokal
- 2. So testen Sie ein Intellij-Plugin
- 3. So testen Sie Wildcard-Subdomains in cloud-9 ide
- 4. Intellij IDEA Fork-Modus für Komponententests verlangsamt
- 5. Pfad zum Testen von Datendateien für Komponententests
- 6. So testen Sie Menü
- 7. So führen Sie Komponententests für mehrere Versionen einer Abhängigkeit aus
- 8. So konfigurieren Sie Schienen in Intellij Idea
- 9. Wie testen Sie einen Befehl lokal in Capistrano
- 10. So erstellen Sie ein Amazon SNS-Thema
- 11. IntelliJ IDEA IDE für Android Entwicklung
- 12. So speichern Sie eine Benutzerkreditkarte lokal in einer iOS-Anwendung
- 13. Lokal installierte SBT, SCALA, Intellij. Möchten Sie lokal installiert sbt, scala im Projekt
- 14. So verwenden Sie den In-Memory-Transport für Komponententests richtig
- 15. Testen von Android-Apps - So testen Sie den DAO-Layer mit einer echten Datenbank?
- 16. So führen Sie CPPUnit Komponententests aus
- 17. kann nicht golang sdk in IntelliJ IDE
- 18. Wie python datetime.now() in einer Klassenmethode für Komponententests zu verspotten?
- 19. Wie Abhängigkeiten von Chocolatey-Pakete lokal testen?
- 20. So testen Sie App für Vista
- 21. Google Maps API lokal testen
- 22. Intellij und Hybris Testen
- 23. So testen Sie APIs
- 24. So integrieren Sie Asana mit Intellij
- 25. So testen Sie Benutzerberechtigungen für die Datenbank
- 26. IntelliJ/AndroidStudio, das Gerät/VM für Komponententests benötigt
- 27. So richten Sie Komponententests für Android/Gradle ein
- 28. So rufen Sie die Koa.js-App-Instanz für Komponententests an
- 29. So verbinden Sie JDK mit Intellij IDEA
- 30. So testen Sie asynchronen Code
Eine weitere gefälschte SNS-Implementierung: [https://github.com/s12v/sns](https://github.com/s12v/sns) – Sergey