Google рдЯреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд


Google рдкрд░реАрдХреНрд╖рдг C ++ рдХреЛрдб рдХреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП Google рд╕реЗ рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ, рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЧрдП рдмрдврд╝рд╛рд╡рд╛ :: рдкрд░реАрдХреНрд╖рдг рдФрд░ рдХреИрдкреНрдкреБрдирд┐рдЯ рд╕реЗ рдереЛрдбрд╝рд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдереЛрдбрд╝рд╛ рднрд┐рдиреНрди рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП - рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП)ред рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕рдореАрдХреНрд╖рд╛ рд▓реЗрдЦ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рддрд░рд╣ рд╣реИрдмреЗ рдкрд░ рдЪрд▓рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЯреВрдЯреА рд╣реБрдИ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ (рдХреЛрдб рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ), рдФрд░ рдпрд╣ рдореБрдЭреЗ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ Google рдЯреЗрд╕реНрдЯ рдкрд░ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдХрд╛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП, рдЬреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░ Google рдЯреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреА рд╣реИрдВред


рд╕рднрд╛


  1. рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдЗрд╕реЗ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВред
  2. Gtest-1.6.0 \ msvc рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: gtest.sln рдФрд░ gtest-md.slnред рдпреЗ Visual Studio Solution рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рд╡реЗ рдмрд┐рд▓реНрдб рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ: gtest.sln / MT рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рдХреЛрдб рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ gtest-md.sln / / MD рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рдеред рдпрджрд┐ рдЖрдкрдХреЛ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпреЗ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдпрд╛ рдпрд╣рд╛рдБ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдЙрд╕реА рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд▓рд┐рдВрдХрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╣рд╛рдБ рдХрд┐рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдореЗрдВ рдЬрд╛ рд░рд╣реА рд╣реИ:



    Google рдЯреЗрд╕реНрдЯ рдХреЛрдб рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2008 \ 2010 рджреНрд╡рд╛рд░рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореИрдВрдиреЗ рдЗрд╕реЗ рджреВрд╕рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрдЬрд╝рдорд╛рдпрд╛ рдирд╣реАрдВ рд╣реИ)ред рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рдЖрдкрдХреЛ gtestd.lib \ gtest.lib рдлрд╝рд╛рдЗрд▓реЗрдВ (рдбрд┐рдмрдЧ рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП) рдорд┐рд▓реЗрдВрдЧреАред рдЗрд╕ рдкрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд╕рд╛рде рд╕рднреАред


рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛


  1. рд╣рдо рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝реЗрдВ (рдХрдВрд╕реЛрд▓ C ++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди)ред
  2. рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдо рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд gtestd.lib \ gtest.lib рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, Google рдЯреЗрд╕реНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ-рдлрд╝реЛрд▓реНрдбрд░, рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред





  3. рд╣рдо рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдореБрдЦреНрдп рдлрд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
    #include "stdafx.h" #include "gtest/gtest.h" class CRectTest : public ::testing::Test { }; TEST_F(CRectTest, CheckPerimeter) { CSomeRect rect; rect.x = 5; rect.y = 6; ASSERT_TRUE(rect.GetPerimeter() == 22); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } 


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

  4. рд╣рдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦрддреЗ рд╣реИрдВ:



рдЬреЗрд▓реА


рдирдВрдмрд░ рдПрдХ

рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЧрд▓рддреА рди рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдЧрд▓рддреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЧрд▓рддреА рдХреНрдпрд╛ рд╣реЛрдЧреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдирд╣реАрдВ рд╣реЛрдЧреАред

рдирдВрдмрд░ рджреЛ

рдпрджрд┐ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╕реНрд╡рдпрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ Google рдХреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рд╣реИрдВ, рдФрд░ Visual C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗрд╡рд▓ рдмрдЧ рдХреЗ рдХрд╛рд░рдг рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдЗрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдЗрд╕ рдмрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЧрдП рддрд░реАрдХреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ ред

рдирдВрдмрд░ рддреАрди

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

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА


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

рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕рдлрд▓рддрд╛ред
рдирдпрд╛ рд╕рд╛рд▓ рдореБрдмрд╛рд░рдХ рд╣реЛ!

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


All Articles