Բովանդակություն:

Կարո՞ղ եք միավոր փորձարկել ստատիկ մեթոդները:
Կարո՞ղ եք միավոր փորձարկել ստատիկ մեթոդները:

Video: Կարո՞ղ եք միավոր փորձարկել ստատիկ մեթոդները:

Video: Կարո՞ղ եք միավոր փորձարկել ստատիկ մեթոդները:
Video: Ошибки в сантехнике. Пайка труб. Канализация. ПЕРЕДЕЛКА ХРУЩЕВКИ ОТ А до Я. #17 2024, Նոյեմբեր
Anonim

Դեպի միավորը փորձարկում է ձեզ պետք է վերցնել մի փոքր կտոր քո կոդը, վերալարել դրա կախվածությունները և փորձարկում այն մեկուսացման մեջ: Սա դժվար է ստատիկ մեթոդներ , ոչ միայն այն դեպքում, երբ նրանք մուտք գործեն համաշխարհային պետություն, այլ նույնիսկ եթե նրանք պարզապես զանգում են ուրիշներին ստատիկ մեթոդներ.

Հաշվի առնելով սա, ինչպե՞ս եք փորձարկում ստատիկ մեթոդները:

Ստատիկ զանգը ծաղրող թեստ ստեղծելու չորս հեշտ քայլ կա

  1. Օգտագործեք PowerMock JUnit վազորդը՝ @RunWith(PowerMockRunner.
  2. Հայտարարեք թեստային դասը, որը մենք ծաղրում ենք.
  3. Ասեք PowerMock-ին այն դասի անունը, որը պարունակում է ստատիկ մեթոդներ.
  4. Կարգավորեք ակնկալիքները՝ ասելով PowerMock-ին ստատիկ մեթոդին զանգ սպասել.

Նմանապես, կարո՞ղ ենք ծաղրել C# ստատիկ մեթոդները: 4 Պատասխաններ. Moq (և այլ DynamicProxy-ի վրա հիմնված ծաղրող շրջանակներ) չեն կարողանում ծաղրել ամեն ինչ, որը վիրտուալ կամ վերացական չէ մեթոդ . Այլընտրանքային, կարող էիր վերափոխեք ձեր դիզայնը վերացական կոչերին ստատիկ մեթոդներ և տրամադրեք այս աբստրակցիան ձեր դասին կախվածության ներարկման միջոցով:

Ինչ վերաբերում է դրան, ինչպե՞ս եք միավորում փորձարկում մասնավոր մեթոդները:

Միավոր փորձարկում միայն հանրությանը հասանելի API-ն: Գրելիս միավորի թեստեր , ընդօրինակեք SUT-ի հաճախորդների պահվածքը: Մի՛ փորձարկել մասնավոր մեթոդները . կամ միավորի փորձարկում դրանք անուղղակիորեն՝ օգտագործելով հանրային API-ն, կամ հանել դրանք առանձին դասերի և փորձարկում այդ դասերի փոխարեն:

Ի՞նչ է ստատիկ մեթոդը:

Java-ում ա ստատիկ մեթոդ է մեթոդ որը պատկանում է դասին, այլ ոչ թե դասի օրինակին: Այն մեթոդ հասանելի է դասի յուրաքանչյուր օրինակին, բայց մեթոդները Օրինակներում սահմանվածները կարող են մուտք գործել միայն դասի այդ անդամի կողմից:

Խորհուրդ ենք տալիս: