Мазмуну:

Сиз статикалык ыкмаларды сынай аласызбы?
Сиз статикалык ыкмаларды сынай аласызбы?

Video: Сиз статикалык ыкмаларды сынай аласызбы?

Video: Сиз статикалык ыкмаларды сынай аласызбы?
Video: Overview of Autonomic Disorders 2024, Декабрь
Anonim

үчүн бирдиги сизди сынайт кичинекей бөлүгүн алуу керек сенин коду, анын көз карандылыктарын кайра жана сыноо ал өзүнчө. Бул кыйын статикалык методдор , Алар глобалдык абалга жетүү учурда гана эмес, ал тургай эгерде алар жөн эле башка чакырышат статикалык методдор.

Муну эске алып, статикалык ыкмаларды кантип сынайсыз?

Статикалык чалууну шылдыңдаган тестти орнотууда төрт жеңил кадам бар:

  1. PowerMock JUnit жүгүргүчтү колдонуңуз: @RunWith(PowerMockRunner.
  2. Биз шылдыңдап жаткан тест классын жарыялаңыз:
  3. PowerMock'ке статикалык ыкмаларды камтыган класстын атын айтыңыз:
  4. PowerMock'ка статикалык ыкмага чалууну күтүүнү айтып, күтүүлөрдү орнотуңуз:

Ошо сыяктуу эле, C# статикалык ыкмаларын шылдыңдай алабызбы? 4 Жооптор. Moq (жана башка DynamicProxy негизинде шылдыңдоо алкактар) кыла алышпайт шылдыңдоо виртуалдык же абстракттуу эмес бардык нерсе ыкмасы . Же болбосо, мүмкүн абстракттуу чалуулар үчүн дизайныңызды кайра өзгөртүңүз статикалык методдор , жана бул абстракцияны классыңызга көз карандылык инъекциясы аркылуу бериңиз.

Буга байланыштуу сиз жеке ыкмаларды кантип сынайсыз?

Бирдик сыноо жалпыга жеткиликтүү API гана. Жазып жатканда бирдик сыноолор , SUT кардарларынын жүрүм-турумун туурайт. Болбо жеке ыкмаларды сыноо . Же бирдик сыноо аларды кыйыр түрдө, коомдук API колдонуп, же өзүнчө класстарга бөлүп чыгарыңыз жана сыноо анын ордуна ошол класстар.

Статикалык ыкма деген эмне?

Явада, а статикалык ыкма болуп саналат ыкмасы класстын үлгүсүнө эмес, класска таандык. The ыкмасы класстын ар бир нускасы үчүн жеткиликтүү, бирок ыкмалары инстанцияда аныкталган класстын ошол мүчөсү гана кире алат.

Сунушталууда: