рдЯрд┐рдХ рдЯреАрдПрд╕реА рдХреЛ рдкреИрд░ рдХреА рдЕрдВрдЧреБрд▓реА, рднрд╛рдЧ 7: pytest рдФрд░ рдЯреНрд░реИрд╡рд┐рд╕ CI

рдЯрд┐рдХ рдЯреАрдПрд╕реА рдХреЛ рдкреИрд░ рдХреА рдЕрдВрдЧреБрд▓реА: рд╕рд╛рдордЧреНрд░реА рдЪрдХреНрд░

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ, рддреЛ GitHub рдкрд░ рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБред рдХрд┐рд╕реА рднреА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рднрдВрдбрд╛рд░ рдмрдирд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг-рдЯреНрд░реИрд╡рд┐рд╕ ред


рдЕрдкрдиреЗ GitHub рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд░реИрд╡рд┐рд╕ CI рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВред рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреЛ рдЕрдкрдиреЗ GitHub рдЦрд╛рддреЗ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВред рдкрд░реАрдХреНрд╖рдг-рдЯреНрд░реИрд╡рд┐рд╕ рднрдВрдбрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред


GitHub рдкрд░, .travis.yml рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рднрдВрдбрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:


language: python script: - pytest 

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


рд╣рдорд╛рд░реЗ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ test_sample.py рдЬреЛрдбрд╝реЗрдВред рдЗрд╕реЗ рдпрд╣рд╛рдБ рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВ ред


 # content of test_sample.py def inc(x): return x + 1 def test_answer(): assert inc(3) == 5 

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдб рдкреЗрдЬ рдкрд░ рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдИ рд╣реИред рдкрд░реАрдХреНрд╖рдг, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдкрд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖред


рд╣рдо test_sample.py рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ , рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдб рдкреЗрдЬ рдкрд░ Travis CI рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реБрдЖред


рдШрд░ рдХрд╛ рдкрд╛рда

рдЯрд┐рдХ рдЯреАрдПрд╕реА рдХреЛ рдкреИрд░ рдХреА рдЕрдВрдЧреБрд▓реА рд▓реЗрдЦ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ , рднрд╛рдЧ 4: HTTP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреНрд▓рд╛рд╕реНрдХ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ ред рдЖрдк рдмрд╕ рдЗрд╕ рднрдВрдбрд╛рд░ рд╕реЗ рдХрд╛рдВрдЯрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/nomhoi/tic-tac-toe-part4 ред рдкрд╛рдпрдерди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝реЗрдВ, .travis.yml рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЯреЗрд╕реНрдЯ рд╕реЗрдЯрдЕрдк рдкреНрд░рд▓реЗрдЦрди: https://docs.travis-ci.com/user/languages/python/ , рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП: https://docs.travis-ci.com/user/languages/javascript-with-wodejs / ред рдореИрдВ рдмрд╛рдж рдореЗрдВ рдпрд╣рд╛рдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред


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

рд╣рдорд╛рд░реЗ рд╕рднреА рдЖрдВрджреЛрд▓рдиреЛрдВ рд╕реЗ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, .travis.yml рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рд╕реЗрд╡рд╛ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдХреЗрд╡рд▓ .travis.yml рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рд╣реЛрдВрдЧреЗред


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


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╣рдо рд╕рддрдд рд╡рд┐рддрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

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


All Articles