WWDC19: XCTest рдХреЗ рд▓рд┐рдП рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╢рд╢рд┐рдХрд╛рдВрдд рдЬрдЧрддрд╛рдк рджреНрд╡рд╛рд░рд╛ тАЬрдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВрдбреАрд╕реА 19: рдЧреЗрдЯрд┐рдВрдЧ рдЯреЗрд╕реНрдЯ рд╡рд┐рдж рдПрдХреНрд╕рд╕реАрдЯреАрдПрд╕тАЭ рдХреЗ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВред

рдЫрд╡рд┐

рдкрд┐рдЫрд▓реЗ WWDC рд╕рдореНрдореЗрд▓рди рдореЗрдВ, рдРрдкреНрдкрд▓ рдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╢рд╛рдВрдд рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рджрд┐рдЦрд╛рдИрдВред Xcode 11 рдореЗрдВ рдХреБрдЫ рдХрдорд╛рд▓ рдХреЗ рдлреАрдЪрд░ рднреА рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВред рдЖрдк рдЬрд╛рд░реА рдиреЛрдЯреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд░реНрд╖ рдШреЛрд╖рд┐рдд рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ XCTest рдФрд░ Xcode UI рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ XCTest рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреАред рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ "Xcode рдкрд░ рдкрд░реАрдХреНрд╖рдг" рд╕рддреНрд░ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ ред

Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди


Xcode 11 рд╕реЗ рдкрд╣рд▓реЗ, рдкрд░реАрдХреНрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди Xcode рд╕реНрдХреАрдорд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдерд╛ред рдпрджрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╛ рддреЛ рдПрдХ рдирдпрд╛ рд╕рд░реНрдХрд┐рдЯ рдмрдирд╛рдпрд╛ рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдг рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдПрдХ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ред рдкрд░реАрдХреНрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрд╛рд░реАрдХреА рд╕реЗ Xcode рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдпреЛрдЬрдирд╛рдПрдВ рдмрдирд╛рдиреА рдкрдбрд╝реАрдВред
Xcode 11 рдореЗрдВ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдХреНрдпреВрдП рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ:

  • рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг;
  • рдХреИрд╕реЗ рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдпрд╛ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ);
  • рдкрд░реАрдХреНрд╖рдг рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрд▓рдЧреНрдирдХ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ);
  • рдкрд░реАрдХреНрд╖рдг рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред

Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХреЗ рд╕рд╛рде, рдЖрдк Xcode рд╕реНрдХреАрдорд╛ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЕрдЧрд▓реЗ рд╕реНрддрд░ рддрдХ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рдЬрд╝рд░рд╛ рдПрдХреНрд╢рди рдореЗрдВ Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред

рд▓рд┐рдкрд┐


рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ:

  • рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдзреВрдореНрд░рдкрд╛рди рдФрд░ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
  • рд▓рдВрджрди (рдпреВрдХреЗ) рдореЗрдВ рдзреБрдЖрдВ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕реИрди рдлреНрд░рд╛рдВрд╕рд┐рд╕реНрдХреЛ (рдпреВрдПрд╕рдП) рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП;
  • рдзреБрдПрдБ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреНрд░рдо рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд░рдо рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдо рд╡рд┐рднрд┐рдиреНрди Apple рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП Xcode рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВрдЧреЗред

Xcode рдореЗрдВ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛рдирд╛


Xcode 11 рд╣рдореЗрдВ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдореЗрдВ рдЗрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред Xcode рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдХреАрдорд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрдм рдЖрдк рд╕рд░реНрдХрд┐рдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рдкрд░реАрдХреНрд╖рдг рдЪрд░рдгреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рддреЛ Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

  • рд░рд┐рдХреНрдд рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ : рдПрдХ рдЦрд╛рд▓реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЕрдкрдиреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
  • рдпреЛрдЬрдирд╛ рд╕реЗ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди : рдПрдХ рд╕рд░реНрдХрд┐рдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛рддрд╛ рд╣реИ;
  • рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдЪреБрдиреЗрдВ : рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕реЗ рдЪреБрдирдХрд░ рдЪрд╛рд░реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрдХрд┐рдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдПрдХ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛рдПрдВред

рдЫрд╡рд┐

рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рджреЗрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕рд╣реА рдкрд░реАрдХреНрд╖рдг рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЬрдм рдПрдХ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рд╕рд░реНрдХрд┐рдЯ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реНрдХреАрдорд╛ Xcodebuild рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдмрдирд╛рдИ рдЧрдИ рдХрд┐рд╕реА рднреА рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдп рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рд╡рд░реНрддрдорд╛рди рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓рдХреНрд╖реНрдп рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирд╛рдо рджреЗрдВред

рдЫрд╡рд┐

рдЖрдкрдХреЛ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓реЗрдЧреА рдЬреЛ рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ functional.xctestplan рдХреЗ рд╕рд╛рде рд╣реИред рдпрд╣ рдЖрдкрдХреА рдЯреЗрд╕реНрдЯ рдпреЛрдЬрдирд╛ рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╣реА рд▓рдХреНрд╖реНрдп рдореЗрдВ рдПрдХ рд╕рдордЧреНрд░ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ UI рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓


рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдлрд╛рдЗрд▓ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЬрд╕рди рдЬреИрд╕реА рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рд░реНрдХрд┐рдЯ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣рд╛рдВ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЯреЗрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдореВрд▓ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдореЗрдВ рддреАрди рдкреНрд░рдореБрдЦ рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рд╡рд┐рдиреНрдпрд╛рд╕ (рд╡рд┐рдиреНрдпрд╛рд╕);
  • рдкрд░реАрдХреНрд╖рдг рд▓рдХреНрд╖реНрдп
  • рд╕реЗрдЯрд┐рдВрдЧ (рд╕реЗрдЯрд┐рдВрдЧ)ред

рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдмрдВрдзреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рд╣рдорд╛рд░реА рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдореЗрдВ рджреЛ рд╡рд┐рдиреНрдпрд╛рд╕реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА: рдПрдХ рдзреВрдореНрд░рдкрд╛рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░рд╛ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдПред
рдЕрдм рдЖрдЗрдП Xcode рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХред Xctestplan рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕реНрдореЛрдХ-рдпреВрдХреЗ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди 1 рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ, рдлрд┐рд░ рдпреЛрдЬрдирд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ "+" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдФрд░ рдкреНрд░рддрд┐рдЧрдорди-рдпреВрдПрд╕рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝реЗрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдореЗрдВ рджреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА UI рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд▓рдХреНрд╖реНрдп рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝реЗрдВред рдЬрдм рд╕реНрдореЛрдХ-рдпреВрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рд▓рдВрджрди рдореЗрдВ рд╕реНрдерд╛рди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЕрдиреНрдп рдмрджрд▓рд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реА рддрд░рд╣, рдкреНрд░рддрд┐рдЧрдорди-рдпреВрдПрд╕рдП рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓реЗрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдЦреЗрдЧрд╛:

рдЫрд╡рд┐

рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реЗрдЯрд┐рдВрдЧреНрд╕:

  • рддрд░реНрдХ - рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪ рддрд░реНрдХ рдФрд░ рд▓реЙрдиреНрдЪ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
  • рд╕реНрдерд╛рдиреАрдпрдХрд░рдг - рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди, рд╕реНрдерд╛рдиреЛрдВ рдФрд░ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдФрд░ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╣реА рд╢рд╛рдВрдд рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ;
  • UI рдкрд░реАрдХреНрд╖рдг / рдЕрдиреБрд▓рдЧреНрдирдХ / рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди / рдХреЛрдб рдХрд╡рд░реЗрдЬ - UI рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдХрд▓реНрдкред рдЖрдк рдпрд╣ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдпрд╛ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджреЗрдВред рдЖрдк рдЙрд╕ рдХреНрд░рдо рдХреЛ рднреА рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдЧрдгрдирд╛;
  • Xcode рдХреЛрдб рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЯреВрд▓ - рдХреЛрдб рдбрд╛рдпрдЧреНрдиреЛрд╕рд┐рд╕ рдХреЗ рд▓рд┐рдП рдХрдИ Xcode рдЯреВрд▓, рдЬреИрд╕реЗ рдПрдбреНрд░реЗрд╕ рд╕реЗрдирд┐рдЯрд╛рдЗрдЬрд╝рд░ рдпрд╛ рдереНрд░реЗрдб рд╕реЗрдирд┐рдЯрд╛рдЗрдЬрд╝рд░, рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЖрдк рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рд▓реАрдХ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐ред

рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛рдирд╛


рдпрджрд┐ рдЖрдк Xcode рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ Xcode тЖТ рдкреНрд░реЛрдбрдХреНрдЯ / рдкреНрд▓рд╛рди рдкреНрд▓рд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдирдпрд╛ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд▓рдХреНрд╖реНрдп рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдирдИ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдФрд░ рдЙрд╕рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝реЗред

рдЫрд╡рд┐

рд╕реНрд░реЛрдд рд╕реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛


рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХреНрд╕рдХреЛрдб рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рд╕рд┐рд░реНрдл рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдЙрди рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рд╣рдорд╛рд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рд╣рдордиреЗ functional.xctestplan рдмрдирд╛рдпрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

{ "configurations" : [ { "name" : "smoke-uk", "options" : { "language" : "en-GB", "locationScenario" : { "identifier" : "London, England", "referenceType" : "built-in" }, "region" : "GB", "testExecutionOrdering" : "lexical" } }, { "name" : "Regression-usa", "options" : { "addressSanitizer" : { "enabled" : true }, "language" : "en", "locationScenario" : { "identifier" : "San Francisco, CA, USA", "referenceType" : "built-in" }, "region" : "US", "testExecutionOrdering" : "random" } } ], "defaultOptions" : { "codeCoverage" : false }, "testTargets" : [ { "target" : { "containerPath" : "container:XCTestPlan.xcodeproj", "identifier" : "9B0E393A22A6EB5400F666A1", "name" : "XCTestPlanUITests" } } ], "version" : 1 } 

рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХреНрд╕рдХреЛрдб 11 рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .xctestplan рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ


рдЕрдм рд╣рдо Xcode рдореЗрдВ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдПрдХреНрд╕рдХреЛрдб рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЖрдк рд╕реНрдХреАрдорд╛ рдкрд░ рд╕рдВрд▓рдЧреНрди рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдХрд░ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ Xcode -> рдЙрддреНрдкрд╛рдж -> рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди - рдзреБрдЖрдВ рдФрд░ рдкреНрд░рддрд┐рдЧрдорди рджреЛрдиреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛ред
рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рджреЗрдЦрдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Xcodebuild рдореЗрдВ рдХрдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЖрдк рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 $ Xcodebuild -showTestPlans -scheme YOUR_SCEME 

рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдЖрдк рдПрдХ рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рднреА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 $ Xcodebuild -project XCTestPlan.Xcodeproj/ -scheme XCTestPlan -destination 'platform=iOS Simulator,OS=13.0,name=iPhone XR' test -testPlan functional 

рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдЧрд╛ред

рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рд░рд┐рдкреЛрд░реНрдЯ


рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк Xcode рдореЗрдВ рдЙрддреНрдкрдиреНрди рдЕрдЪреНрдЫреА рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИред

рдЫрд╡рд┐

Xcode рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рдирд╛рд╡рд┐рдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЖрдк рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рд░рд┐рдкреЛрд░реНрдЯ Xcode рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

Github рдкрд░ рдЙрдкрд▓рдмреНрдз рдбреЗрдореЛ рд╕реНрд░реЛрдд рдХреЛрдб: XCTestPlan

Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди: рдЖрд╡реЗрджрди


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрдХреНрд╕рдХреЛрдб рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рдХреИрд╕реЗ рдмрджрд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдБ Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ:

  • рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг, рдЬреИрд╕рд╛ рдХрд┐ рдбреЗрдореЛ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: рдзреВрдореНрд░рдкрд╛рди, рдкреНрд░рддрд┐рдЧрдорди, рдЖрджрд┐;
  • рдЖрд╡реЗрджрди рдХреЗ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдФрд░ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ;
  • рднрд╛рд░реА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛, рдЬреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ред рдЖрдк рдХреЛрдб рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЯреВрд▓ рдпрд╛ рдЕрдиреНрдп рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдИ рдЕрдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рднреА рд╕рдВрднрд╡ рд╣реИрдВ рдЬрд╣рд╛рдВ Xcode рдкрд░реАрдХреНрд╖рдг рдпреЛрдЬрдирд╛рдПрдВ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдХреЗ рд╕рд╛рде, XCTest рдХреЛ рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Xcode рдЯреЗрд╕реНрдЯ рдкреНрд▓рд╛рди рдЖрдкрдХреЛ Apple-based рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмреЗрд╣рддрд░ рдирд┐рдпрдВрддреНрд░рдг рджреЗрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi457108/


All Articles