Przewodnik po testowaniu API i środowisku testowym

Opanuj testowanie dzięki kompleksowemu środowisku testowemu Smart Money API. Rozwijaj bez ryzyka, korzystając z realistycznych danych testowych, deterministycznych odpowiedzi i hojnych limitów zapytań do eksperymentowania.

Opublikowano 21 marca 2026 14 min czytania Rozwój

Przegląd środowiska testowego

Smart Money API zapewnia w pełni funkcjonalne środowisko testowe do rozwoju i testowania. Środowisko testowe odzwierciedla strukturę produkcyjnego API, ale wykorzystuje syntetyczne dane i hojne limity zapytań, pozwalając na pewny rozwój przed przejściem do produkcji.

Kluczowe cechy:

  • Identyczne jak produkcyjne — Te same endpointy, uwierzytelnianie, format odpowiedzi
  • Tylko dane testowe — Nigdy nie wpływa na prawdziwe konta ani rynki
  • Wysokie limity zapytań — 10 000 zapytań/godzinę w porównaniu do 1 000 w produkcji
  • Deterministyczne odpowiedzi — Spójne dane testowe dla powtarzalnego testowania
  • Izolowane konta — Oddzielone od danych użytkowników produkcyjnych

Najlepsza praktyka: Wszystkie prace rozwojowe, testowe i stagingowe powinny korzystać ze środowiska testowego. Używaj produkcji dopiero po dokładnym przetestowaniu w środowisku testowym.

Funkcje środowiska testowego

Realistyczne dane testowe

Środowisko testowe zawiera realistyczne dane rynku kryptowalut, które nie zmieniają się losowo:

  • Historyczne dane rynkowe (6 miesięcy realistycznych danych OHLCV)
  • Stałe adresy portfeli wielorybów ze spójnymi wzorcami ruchu
  • Stabilne stopy finansowania resetowane co godzinę
  • Deterministyczne wzorce likwidacji do testowania przypadków brzegowych

Funkcje testowe

Funkcje testowe
// Deterministyczne symbole testowe
// Wszystkie symbole testowe zaczynają się od TEST_
TEST_BTC, TEST_ETH, TEST_SOL, itd.
// Magiczne znaczniki czasu do symulacji scenariuszy
GET /v1/derivatives/funding-heatmap?
timestamp=1234567890000 // Zwraca stałe dane testowe
// Wymuszanie błędów do testowania obsługi wyjątków
X-Test-Error: rate_limit_exceeded
X-Test-Error: service_unavailable

Narzędzia testowe

  • Reset danych — Przywróć wszystkie konta testowe do stanu początkowego
  • Kontrola czasu — Symuluj różne warunki rynkowe
  • Wstrzykiwanie błędów — Wymuś określone odpowiedzi błędów
  • Testowanie limitów zapytań — Wywołaj odpowiedzi dotyczące limitu zapytań
Otrzymaj swój klucz API w 30 sekund

Gotowy do budowania? Zdobądź darmowy klucz API (200 wywołań/dzień, bez karty) i zacznij pobierać dane na temat wielorybów, finansowania i danych on-chain w czasie rzeczywistym.

Otrzymaj swój klucz API →

Dane testowe

Uzyskiwanie testowych kluczy API

Utwórz konto testowe przez panel sterowania, aby wygenerować testowe klucze API w środowisku piaskownicy:

Format klucza testowego
// Klucze testowe mają inny prefiks
sk_test_1234567890abcdef // Testowy klucz API
sk_live_1234567890abcdef // Produkcyjny klucz API
// Automatycznie kieruje do odpowiedniego środowiska
GET https://api.smartmoneyapi.com/v1/whales
-H "Authorization: Bearer sk_test_xxx"
# Automatycznie kieruje do piaskownicy

Wstępnie skonfigurowane klucze testowe

Użyj tych publicznych kluczy testowych do szybkiego eksperymentowania (z ograniczeniem liczby wywołań):

Klucz Uprawnienia Limit
sk_test_demo Odczyt wszystkich 100/godzinę
sk_test_trader Odczyt + alerty 500/godzinę
sk_test_pro Pełny dostęp 5000/godzinę

Nigdy nie używaj kluczy testowych w środowisku produkcyjnym. Mają ograniczoną funkcjonalność i limity wywołań.

Dane testowe i fixture'y

Dostępne symbole testowe

Piaskownica zawiera te testowe pary handlowe z realistycznymi danymi historycznymi:

Symbole testowe
// Pary kryptowalutowe
TEST_BTCUSDT, TEST_ETHUSDT, TEST_BNBUSDT
TEST_SOLSDT, TEST_ARBUSDT, TEST_OPUSDT
// Zapytanie o symbole testowe
GET /v1/symbols?test_only=true

Testowe portfele wielorybów

Wstępnie skonfigurowane portfele testowe z deterministycznym zachowaniem:

  • Portfel akumulacyjny — Stale kupuje, dobry do testów byczych
  • Portfel dystrybucyjny — Stale sprzedaje, dobry do testów niedźwiedzich
  • Portfel oscylacyjny — Naprzemiennie kupuje/sprzedaje, dobry do testów w zakresie
  • Portfel zmienności — Losowe duże transakcje do testów obciążeniowych

Resetowanie danych testowych

Zresetuj dane testowe
// Zresetuj wszystkie konta testowe do stanu początkowego
POST /v1/test/reset
-H "Authorization: Bearer sk_test_xxx"
// Zresetuj konkretny zasób
POST /v1/test/reset?resource=whales
// Odpowiedź
{
"status": "reset_complete",
"timestamp": 1709980800000
}

Punkty końcowe Sandbox

Podstawowe adresy URL

Adresy URL środowisk
// Sandbox (tryb testowy)
https://api-test.smartmoney.io/v1
// Lub użyj parametru zapytania
https://api.smartmoneyapi.com/v1?environment=sandbox
// Produkcja (tryb na żywo)
https://api.smartmoneyapi.com/v1

Punkty końcowe tylko dla Sandbox

Punkt końcowy Cel
POST /test/reset Zresetuj dane testowe do stanu początkowego
POST /test/inject-error Wstrzyknij określony błąd do testów
POST /test/simulate-time Symuluj różne warunki rynkowe
GET /test/status Sprawdź stan środowiska sandbox

Mockowanie odpowiedzi

Wstrzykiwanie błędów testowych

Wymuś określone odpowiedzi błędów do testowania obsługi wyjątków:

Wstrzykiwanie błędów
// Testowanie obsługi limitu szybkości
GET /v1/whales?X-Test-Error=rate_limit_exceeded
// Testowanie niedostępności usługi
GET /v1/whales?X-Test-Error=service_unavailable
// Testowanie nieudanej autentykacji
GET /v1/whales?X-Test-Error=invalid_key
// Testowanie przekroczenia czasu
GET /v1/whales?X-Test-Error=timeout

Dostępne błędy testowe

Kod błędu Status HTTP Przypadek użycia
invalid_key 401 Obsługa błędów autentykacji
rate_limit_exceeded 429 Testowanie logiki wycofywania
not_found 404 Obsługa brakujących zasobów
service_unavailable 503 Testowanie logiki ponawiania
timeout 504 Obsługa przekroczenia czasu

Limity szybkości Sandbox

Poziomy limitów szybkości

Środowisko Limit/godzinę Burst Cel
Sandbox 10,000 500/min Rozwój i testowanie
Produkcja Free 1,000 50/min Projekty hobbystyczne
Produkcja Trader 10,000 400/min Handel profesjonalny
Produkcja Pro 50,000 1000/min Systemy wysokiej częstotliwości

Testowanie obsługi limitu szybkości

Testowanie limitu szybkości
// Wywołaj odpowiedź limitu szybkości w sandbox
curl -H "X-Test-Error: rate_limit_exceeded" \
https://api-test.smartmoney.io/v1/whales
// Odpowiedź zawiera nagłówki ponawiania
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1709984400
Retry-After: 3600

Strategie testowania

Testy jednostkowe z fixture'ami

Test jednostkowy w Pythonie
import unittest
import requests
class TestSmartMoneyAPI(unittest.TestCase):
def setUp(self):
self.api_key = 'sk_test_demo'
self.base_url = 'https://api-test.smartmoney.io/v1'
def test_whale_tracking(self):
response = requests.get(
f'{self.base_url}/whales/TEST_BTC',
headers={'Authorization': f'Bearer {self.api_key}'}
)
self.assertEqual(response.status_code, 200)
self.assertIn('whales', response.json())

Testowanie integracyjne

Przetestuj pełny przepływ pracy w sandbox przed wdrożeniem na produkcję:

  1. Wdróż na staging z danymi sandbox
  2. Uruchom pełny zestaw testów przeciwko sandbox
  3. Przetestuj obsługę błędów z wstrzykiwaniem błędów
  4. Sprawdź zachowanie limitu szybkości
  5. Sprawdź czas odpowiedzi i opóźnienie
  6. Dopiero wtedy przenieś na produkcję

Testowanie obciążenia

Test obciążenia z Apache Bench
// Sandbox pozwala na testowanie wysokiego obciążenia
ab -n 5000 -c 100 \
-H "Authorization: Bearer sk_test_pro" \
https://api-test.smartmoney.io/v1/whales/TEST_BTC

Integracja CI/CD

Przykład GitHub Actions

.github/workflows/test.yml
name: API Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: pip install requests pytest
- env:
SMARTMONEY_API_KEY: ${{ secrets.TEST_API_KEY }}
SMARTMONEY_ENV: sandbox
run: pytest tests/

Konfiguracja środowiska

Użyj zmiennych środowiskowych, aby przełączać się między środowiskiem testowym a produkcyjnym:

Konfiguracja środowiska
// .env.sandbox
SMARTMONEY_API_KEY=sk_test_demo
SMARTMONEY_API_URL=https://api-test.smartmoney.io/v1
SMARTMONEY_ENV=sandbox
// .env.production
SMARTMONEY_API_KEY=sk_live_xxxx
SMARTMONEY_API_URL=https://api.smartmoneyapi.com/v1
SMARTMONEY_ENV=production

Rozwiązywanie problemów

Typowe problemy

Klucz testowy nie działa

Problem: Otrzymuję błąd 401 Unauthorized z kluczem testowym

Rozwiązania:

  • Sprawdź, czy klucz zaczyna się od sk_test_ (nie sk_live_)
  • Sprawdź format nagłówka Authorization: "Bearer sk_test_xxx"
  • Upewnij się, że używasz endpointu testowego: api-test.smartmoney.io
  • Klucz testowy mógł przekroczyć limit zapytań

Dane nie resetują się

Problem: Dane testowe nie resetują się po wywołaniu POST /test/reset

Rozwiązania:

  • Reset może zająć do 30 sekund
  • Sprawdź status środowiska testowego za pomocą GET /test/status
  • Upewnij się, że używasz poprawnego klucza testowego API
  • Skontaktuj się z supportem, jeśli problem się utrzymuje

Limity zapytań w środowisku testowym

Problem: Osiągnięto limity zapytań w środowisku testowym (nie powinno się zdarzać)

Rozwiązania:

  • Sprawdź, czy używasz klucza sk_test_pro (10 000/godzinę)
  • Sprawdź nagłówek X-RateLimit-Remaining
  • Poczekaj do nowej godziny lub użyj innego konta testowego
  • Skontaktuj się z supportem w celu tymczasowego zwiększenia limitu

Zacznij testować już dziś

Korzystaj z naszego kompleksowego środowiska testowego do bezpiecznego, izolowanego rozwoju. Deterministyczne dane testowe, wysokie limity zapytań i pełna zgodność funkcjonalna z produkcją.

Pobierz dane testowe
Wszystkie plany obejmują dostęp do środowiska testowego. Bez dodatkowych kosztów.

Powiązane zasoby

Zacznij za darmo — 200 wywołań/dzień, bez karty

Otrzymuj dane o przepływie wielorybów, finansowaniu, otwartym zainteresowaniu i danych on-chain z 3 giełd w jednym API. Darmowy plan, bez karty kredytowej, możliwość aktualizacji w każdej chwili.

Zacznij za darmo →
Wypróbuj konsolę API na żywo → (konto nie jest wymagane)