Używamy RSpec w projekcie szyn do testowania jednostkowego. Chciałbym skonfigurować testy wydajności w RSpec, ale zrobić to w taki sposób, aby nie zakłócać "normalnych" funkcji i urządzeń.Jak skonfigurować RSpec do testowania wydajności "z boku"
Idealnie byłoby móc oznaczyć moje specyfikacje wydajności w taki sposób, że nie są one domyślnie uruchamiane. Następnie, gdy określę, aby uruchomić te specyfikacje jawnie, załaduje on inny zestaw urządzeń (sensowne jest przeprowadzanie testów wydajności przy znacznie większym i bardziej "produkcyjnym" zestawie danych).
Czy to możliwe? Wygląda na to, że tak powinno być.
Czy ktoś skonfigurował coś takiego? Jak sobie z tym poradziłeś?
Głównie zastanawiałem się, jak wykonalne byłoby zautomatyzowanie testów wydajności. Tak więc zmiana kodu, która wprowadziła znaczący negatywny wpływ na wydajność, "wyzwoliłaby" test, niż twierdzi, że pewna funkcja może działać w czasie np. Krótszym niż 30 sekund. –
Można to zrobić, ale nie jestem pewien, jak użyteczne byłoby to, zwłaszcza, że RSpec jest najlepszy, gdy nie testuje rzeczy skierowanych do użytkownika, a wydajność jest skierowana do użytkownika. Przypuszczam, że można użyć Cucumber zamiast RSpec do testów wydajnościowych, ale uważam, że najlepiej jest pozostawić to w New Relic. –
To się nazywa profilowanie, a nie testowanie wydajności. Testy wydajności powinny zapewnić, że fragment kodu będzie działał w pożądanym czasie, biorąc pod uwagę pewien kontekst, zanim nowy kod zostanie wprowadzony do produkcji. – aledalgrande