Provenendo dal mondo Python, le fixture sono molto utili (Fixtures definisce un contratto Python per la logica di supporto/stato riutilizzabile, principalmente per il test dell'unità). Mi stavo chiedendo se c'è un supporto simile in Golang che può permettermi di eseguire i miei test con alcuni dispositivi predefiniti come la configurazione del server, abbattendolo, eseguendo alcune attività ripetute ogni volta che viene eseguito un test? Qualcuno può indicarmi alcuni esempi di come fare lo stesso in Golang?Fixtures in Golang testing
risposta
Se si desidera utilizzare gli strumenti di prova Go standard, è possibile definire una funzione con la firma TestMain(m *testing.M)
e inserire il codice del dispositivo in tale posizione.
Dal testing package wiki:
A volte è necessario per un programma di test per fare l'installazione in più o teardown prima o dopo la prova. Talvolta è anche necessario che un test controlli quale codice gira sul thread principale. Per supportare questi ed altri casi, se un file di prova contiene una funzione:
func TestMain(m *testing.M)
allora il test generato chiamerà TestMain (m) invece di eseguire direttamente test. TestMain viene eseguito nella goroutine principale e può eseguire qualsiasi operazione di configurazione e smontaggio durante una chiamata a m.Run. Dovrebbe quindi chiamare os.Exit con il risultato di m.Run. Quando viene chiamato TestMain, flag.Parse non è stato eseguito. Se TestMain dipende da flag della riga di comando, inclusi quelli del pacchetto di test, dovrebbe chiamare flag.Parse in modo esplicito.
Una semplice implementazione di TestMain è:
func TestMain(m *testing.M) { flag.Parse() os.Exit(m.Run()) }
- 1. Fixtures in RSpec
- 2. Rails fixtures vs semi
- 3. Virtual Fixtures da Rosenberg
- 4. android test fixtures
- 5. Rails Fixtures vs. Mazzi
- 6. Testing codice asincrono in Elixir
- 7. In che modo Django Fixtures gestisce ManyToManyFields?
- 8. Clojure: How To use-fixtures in Test
- 9. Fabbriche/Fixtures vs semplice Model.create (...)?
- 10. Structures in GoLang
- 11. testing.M recuperare in golang
- 12. Come popolare le tabelle di ricerca in Testing (Rails)
- 13. Rails Fixtures non caricati con rspec
- 14. Bug in geometria Hit-Testing
- 15. Unit Testing Interfaces in Python
- 16. Problema Unit Testing in VB.NET
- 17. Mock window.location.reload in testing Jasmine
- 18. Do Gui testing in Qt
- 19. Stress testing WebSockets in Jmeter
- 20. attachment_fu testing in rail 3
- 21. Symfony2 esegue il file SQL in Doctrine Fixtures Load
- 22. Test Golang Goroutine
- 23. Re-affettare in Golang
- 24. tubo in Golang
- 25. Connessione sicura in Golang
- 26. Zip FileSystem in Golang
- 27. Caricamento dinamico in Golang?
- 28. Ora legale in Golang
- 29. funzione Senzacorpo in Golang
- 30. Unit Testing Shiny Apps
Partenza [Ginkgo] (https://onsi.github.io/ginkgo) che ha '' BeforeEach' e AfterEach'. – PieOhPah
Grazie @ pie-o-pah – psbits