Toolverse
All skills

go-testing

by Gentleman-Programming

Go testing patterns for Gentleman.Dots, including Bubbletea TUI testing. Trigger: When writing Go tests, using teatest, or adding test coverage.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Testing
Views
9

About this skill

Go testing patterns for Gentleman.Dots, including Bubbletea TUI testing. Trigger: When writing Go tests, using teatest, or adding test coverage.

How to use

  1. Zainstaluj umiejętność w swoim projekcie Gentleman.Dots, dodając katalog go-testing do folderu skills. Upewnij się, że masz zainstalowany Go w wersji obsługującej moduły oraz bibliotekę Bubbletea, jeśli testujesz komponenty TUI.

  2. Przy pisaniu testów jednostkowych zastosuj wzorzec testów sterowanych tabelą — zdefiniuj strukturę z polami name, input, expected i wantErr, a następnie iteruj po przypadkach testowych w pętli t.Run(). Podejście to pozwala na łatwe dodawanie nowych scenariuszy bez duplikowania kodu.

  3. Do testowania modeli Bubbletea utwórz instancję modelu, symuluj zdarzenia klawiszowe za pomocą tea.KeyMsg i sprawdzaj zmiany stanu, takie jak przejścia między ekranami. Weryfikuj, że Model.Update() zwraca oczekiwane wartości i stan wewnętrzny.

  4. Dla testów integracyjnych interfejsu TUI użyj biblioteki teatest z Charmbracelet — utwórz TestModel, symuluj sekwencje interakcji użytkownika i asercje na wyjściu renderowanym. Pozwala to na testowanie pełnych przepływów interakcji bez ręcznego uruchamiania aplikacji.

  5. Rozważ użycie golden file testing do porównywania wyjścia tekstowego — zapisz oczekiwane wyniki w plikach referencyjnych i porównuj je z rzeczywistym wyjściem testów, szczególnie przydatne dla testowania renderowania TUI.

  6. Uruchom testy za pomocą standardowego polecenia go test ./... i sprawdzaj pokrycie kodu flagą -cover, aby upewnić się, że wszystkie ścieżki kodu są testowane.

Related skills