Paano ka magtatakda ng inaasahan sa Xcode?

Huling pag-update: 02/11/2023

Paano ka magtatakda ng inaasahan sa Xcode? Ang pagtatakda ng inaasahan sa Xcode ay isang mahalagang kasanayan upang matiyak na ang aming mga application ay kumikilos at gumagana tulad ng aming inaasahan. Ang inaasahan ay karaniwang isang pahayag tungkol sa inaasahang pag-uugali ng aming code, at ang paggamit nito ay tumutulong sa amin na magsagawa ng mas epektibong mga pagsubok sa yunit at mapabuti ang kalidad ng aming mga application. Sa artikulong ito, tutuklasin namin kung paano magtakda ng inaasahan sa Xcode at kung paano gamitin ang functionality na ito upang mapabuti ang aming proseso ng pag-develop. Magbasa para malaman kung paano!

– Hakbang-hakbang ➡️ Paano ka magtatakda ng inaasahan sa Xcode?

  • Hakbang 1: Buksan ang Xcode sa iyong computer. Mahahanap mo ang icon ng Xcode sa Launchpad o sa Finder.
  • Hakbang 2: Kapag bukas na ang Xcode, piliin ang proyekto kung saan mo gustong magtakda ng inaasahan. mahahanap mo ang iyong mga proyekto sa home window ng Xcode.
  • Hakbang 3: Sa kaliwang navigation pane, piliin ang file kung saan mo gustong magtakda ng inaasahan. Ito ay maaaring isang source code file o isang test file.
  • Hakbang 4: Nasa Xcode editor ka na ngayon. Sa tuktok ng window, makikita mo ang isang menu bar. I-click ang menu na "Editor" at pagkatapos ay piliin ang "Paganahin ang Testability."
  • Hakbang 5: Pagkatapos i-enable ang testability, pumunta sa test file o paraan kung saan mo gustong magtakda ng inaasahan.
  • Hakbang 6: Ilagay ang cursor sa loob ng paraan kung saan mo gustong itakda ang inaasahan at pindutin ang kumbinasyon ng key na "Ctrl + Space" upang buksan ang autocomplete.
  • Hakbang 7: I-type ang “expectation” sa autocomplete at piliin ang opsyong “add(_ format: String, arguments: CVarArg…, file: StaticString, line: UInt)”.
  • Hakbang 8: Nagawa na ngayon ang isang instance ng inaasahan sa iyong test file. Maaari mo itong bigyan ng magiliw na pangalan gamit ang syntax «let expectation = XCTestExpectation(paglalarawan: "Descriptive name")«, pinapalitan ang «Descriptive name» kasama ang pangalan na nais mong gamitin.
  • Hakbang 9: Susunod, isulat ang code na gusto mong subukan na bubuo ng inaasahan na iyong itinakda.
  • Hakbang 10: Kapag natapos mo nang isulat ang iyong test code, oras na upang maihatid ang inaasahan. Upang gawin ito, idagdag ang sumusunod na code sa isang lugar pagkatapos ng linya ng code na bumubuo ng inaasahan: "expectation.fulfill()"
  • Hakbang 11: Panghuli, suriin ang inaasahan. Magagawa mo ito pagkatapos ng lahat ng linya ng test code sa pamamagitan ng pagdaragdag ng "maghintay(para sa: [expectation], timeout: time_in_seconds)«. Palitan ang "time_in_seconds" ng oras na gusto mong italaga bilang limitasyon hayaang matupad ito la expectativa.
Eksklusibong nilalaman - Mag-click Dito  Paano ako magdaragdag ng mga action button sa Stack App?

Tanong at Sagot

1. Paano ka magtatakda ng inaasahan sa Xcode?

Upang magtakda ng inaasahan sa Xcode, sundin ang mga hakbang na ito:

  1. Abre tu proyecto en Xcode.
  2. Piliin ang klase o paraan kung saan mo gustong itakda ang inaasahan.
  3. Mag-right-click at piliin ang "Bagong File."
  4. Piliin ang "Cocoa Touch Unit Testing Bundle" sa seksyong "iOS".
  5. Tukuyin ang pangalan ng test file at i-click ang "I-save."
  6. Sa test file, i-import ang klase na gusto mong subukan.
  7. Bago ang paraan na gusto mong subukan, idagdag ang annotation na “@testable importYourProjectName”.
  8. Isulat ang test code at gamitin ang klase na "XCTestExpectation" upang magtakda ng inaasahan.
  9. Sa linya kung saan inaasahang matutupad ang inaasahan, tawagan ang pamamaraang "fulfill()" ng expectation.
  10. Panghuli, sa pagsasara ng paraan ng pagsubok, tawagan ang "waitForExpectations(timeout: expectedTime)" na paraan.

2. Ano ang kahalagahan ng pagtatakda ng mga inaasahan sa Xcode?

Ang pagtatakda ng mga inaasahan sa Xcode ay mahalaga dahil:

  1. Binibigyang-daan ka nitong i-verify kung kumikilos ang code gaya ng inaasahan.
  2. Tumutulong sa pagtukoy at pagwawasto ng mga posibleng error sa code.
  3. Pinapadali nito ang paggawa ng mga unit test na nagpapatunay sa pagpapatakbo ng iyong aplikasyon.
  4. Nagbibigay ito ng kumpiyansa sa developer na alam na ang kanilang code ay nakakatugon sa mga inaasahang resulta.
Eksklusibong nilalaman - Mag-click Dito  Paano ko ilalapat ang seguridad sa aking website gamit ang Sandvox?

3. Maaari ba akong magtakda ng maraming inaasahan sa isang paraan?

Oo, maaari kang magtakda ng maraming inaasahan sa isang paraan sa pamamagitan ng pagsunod sa mga hakbang na ito:

  1. Gumawa ng instance ng "XCTestExpectation" para sa bawat inaasahan na gusto mong itakda.
  2. Gamitin ang pamamaraang "waitForExpectations(timeout: WaitedTime)" sa pagsasara ng paraan ng pagsubok.
  3. Tiyaking tinatawagan mo ang "fulfill()" na paraan sa linya kung saan inaasahang matutupad ang bawat inaasahan.

4. Paano ko mabe-verify kung ang isang inaasahan ay natugunan o hindi?

Upang masuri kung ang isang inaasahan ay natugunan o hindi, maaari mong sundin ang mga hakbang na ito:

  1. Gamitin ang pamamaraang "waitForExpectations(timeout: WaitedTime)" sa pagsasara ng paraan ng pagsubok.
  2. Kung ang inaasahan ay natugunan sa loob ng tinukoy na oras, ang pagsubok ay matagumpay na makapasa.
  3. Kung ang inaasahan ay hindi natugunan sa loob ng tinukoy na oras, ang pagsubok ay mabibigo.

5. Gaano katagal ko dapat itakda ang paghihintay para sa isang inaasahan?

Ang oras na dapat mong itakda upang maghintay para sa isang inaasahan ay depende sa senaryo ng pagsubok at ang tinantyang oras na aabutin para matugunan ang inaasahan. Maaari kang magtakda ng isang makatwirang oras na nagpapahintulot sa inaasahan na matugunan, ngunit hindi masyadong mahaba upang maantala ang oras ng pagpapatupad ng mga pagsubok.

6. Ano ang mangyayari kung ang isang inaasahan ay hindi natutugunan sa loob ng itinakdang panahon?

Kung ang isang inaasahan ay hindi natugunan sa loob ng itinakdang oras, ang pagsubok ay mabibigo at magpapakita ng isang error na nagpapahiwatig na ang inaasahan ay hindi natugunan.

Eksklusibong nilalaman - Mag-click Dito  Tugma ba ang W3Schools app sa Android?

7. Maaari ba akong magtakda ng mga inaasahan sa UI Testing sa Xcode?

Hindi, maaari lang itakda ang mga inaasahan sa mga unit test, hindi sa UI Testing. Sa pagsubok ng user interface, ginagamit ang iba pang uri ng mga diskarte upang i-verify ang gawi at hitsura ng user interface, gaya ng paghahanap at pagmamanipula ng mga elemento sa screen.

8. Maaari ba akong magtakda ng mga inaasahan sa mga pagsubok sa pagganap sa Xcode?

Hindi, hindi ginagamit ang mga inaasahan sa pagsubok sa pagganap. Sa pagsubok sa pagganap, ang oras ng pagpapatupad ng isang ibinigay na code ay sinusuri upang matiyak na nakakatugon ito sa mga itinatag na kinakailangan sa pagganap. Hindi kinakailangang magtakda ng mga inaasahan dahil direktang inihambing ang mga resulta sa inaasahang mga halaga.

9. Maaari ba akong magtakda ng mga inaasahan sa mga awtomatikong pagsusulit sa UI?

Hindi, hindi ginagamit ang mga inaasahan sa awtomatikong pagsubok sa UI. Sa ganitong uri ng pagsubok, ang iba pang mga pamamaraan at diskarte ay ginagamit upang makipag-ugnayan sa user interface at i-verify ang pag-uugali at hitsura nito.

10. Saan ako makakahanap ng higit pang impormasyon tungkol sa paggamit ng mga inaasahan sa Xcode?

Makakahanap ka ng higit pang impormasyon tungkol sa paggamit ng mga inaasahan sa Xcode sa opisyal na dokumentasyon ng Apple para sa mga developer ng Xcode. Bukod pa rito, maraming mga tutorial at online na mapagkukunan na makakatulong sa iyong maunawaan at epektibong gumamit ng mga inaasahan sa iyong pagsubok sa Xcode.