Mündəricat:

Statik metodları test edə bilərsinizmi?
Statik metodları test edə bilərsinizmi?

Video: Statik metodları test edə bilərsinizmi?

Video: Statik metodları test edə bilərsinizmi?
Video: WIFI-ın sürətini necə artırmaq olar? 😎 2024, Bilər
Anonim

Kimə vahid sizi sınayacaq kiçik bir parça götürmək lazımdır sənin kodu, onun asılılıqlarını yenidən bağlayın və test təcrid olunur. Bununla çətindir statik üsullar , nəinki qlobal vəziyyətə daxil olduqları halda, hətta əgər sadəcə başqasına zəng edirlər statik üsullar.

Bunu nəzərə alaraq, statik metodları necə sınaqdan keçirirsiniz?

Statik çağırışı ələ salan bir test qurmaq üçün dörd asan addım var:

  1. PowerMock JUnit runner istifadə edin: @RunWith(PowerMockRunner.
  2. İstehza etdiyimiz test sinfini elan edin:
  3. PowerMock-a statik metodları ehtiva edən sinfin adını deyin:
  4. PowerMock-a statik metoda zəng gözləməsini söyləyərək gözləntiləri qurun:

Eynilə, C# statik metodlarını istehza edə bilərikmi? 4 Cavablar. Moq (və digər DynamicProxy əsaslı istehza çərçivələr) edə bilmirlər istehza virtual və ya mücərrəd olmayan hər şey üsul . Alternativ olaraq, Sən edə bilərdin Zəngləri mücərrəd etmək üçün dizaynınızı refaktor edin statik üsullar , və bu abstraksiyanı asılılıq inyeksiyası vasitəsilə sinifinizə təqdim edin.

Bununla əlaqədar olaraq, özəl metodları necə test edirsiniz?

Vahid sınağı yalnız ictimaiyyətə açıq olan API. Yazarkən vahid testləri , SUT müştərilərinin davranışını təqlid edin. Etmə özəl üsulları sınaqdan keçirin . ya vahid testi onları dolayı yolla, ictimai API istifadə edərək və ya ayrı siniflərə çıxarın və test əvəzinə bu siniflər.

Statik üsul nədir?

Java-da, a statik üsul a üsul bir sinfin nümunəsi deyil, bir sinfə aiddir. The üsul bir sinfin hər nümunəsi üçün əlçatandır, lakin üsulları instansiyada müəyyən edilmişlər yalnız sinfin həmin üzvü tərəfindən əldə edilə bilər.

Tövsiyə: