BDD: Asp.Net рдореЗрдВ рд░реВрд╕реА-рднрд╛рд╖рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдШреЗрд░рдХрд┐рди рднрд╛рд╖рд╛ рдХрд╛ рдЕрдиреБрдХреВрд▓рди

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

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


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

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

рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП BDD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИ, рдЗрдВрдЯрд░реИрдХреНрд╢рди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ) рди рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреАрдПрдо рджреНрд╡рд╛рд░рд╛ рднреА, рдЬреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИред рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, BDD рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдФрд░ рд╕рдмрд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИред

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдмреАрдбреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдкрд░ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЗрд╕рдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп рдореЙрдбрд▓ рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред

рдЕрдм рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ


рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдмреАрдбреАрдбреА рд╢реИрд▓реА рдЙрдкрдХрд░рдг рд░реВрдмреА рдХреЗ рд▓рд┐рдП рдХрдХрдбрд╝реА рдФрд░ .NET рдХреЗ рд▓рд┐рдП SpecFlow рд╣реИрдВред рджреЛрдиреЛрдВ рд╣реА рдЧреЗрд░рдХрд┐рди рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╛рда рд▓рд┐рдЦрддрд╛ рд╣реИ:

Scenario: Show logged in user name
Given I am logged in as a user called "Vlad"
When I visit the homepage
Then the page header displays the caption ", Vlad!"


рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рднреА рд▓рд┐рдЦрддрд╛ рд╣реИ:

Given /I am logged in as a user called "(.*)"/ do |name|
create_user(name)
sign_in_as(name)
end

Then /the page header displays the caption "(.*)"/ do |caption|
page_header.should_contain(caption)
end


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

рджрд┐рдП рдЧрдП / рдЬрдм / рдлрд┐рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рджрд┐рдП рдЧрдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢рд░реНрддреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрдм - рдСрдкрд░реЗрд╢рди, рдлрд┐рд░ - рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдоред рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд╡рд┐рд╢реЗрд╖ .feature рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмреБрд░рд╛ рдХреНрдпреЛрдВ рд╣реИ


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

рджреВрд╕рд░реЗ, SpecFlow рдореЗрдВ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдпрд╣ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╣рдо рд╕рднреА рдЖрдИрдЯреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реИрдВ рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдордЭрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдХреЛрдб рдореЗрдВ рд░реВрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд░реВрд╕реА рднрд╛рд╖рд╛ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкрдардиреАрдпрддрд╛ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдбреЛрдореЗрди рднрд╛рд╖рд╛ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рджрд░реНрджрдирд╛рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреА рд╣реИред

рдпрд╣ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?


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

[TestMethod]
public void ___()
{
___("Vlad");
_____();
____(", Vlad!");
}


рджрд┐рдП рдЧрдП / рдЬрдм / рддрдм рдкреИрдЯрд░реНрди рдпрд╣рд╛рдБ / рдЕрдЧрд░ / _ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдЬрдбрд╝рддрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛, рдЖрдк рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ / рдЬрдм / рддрдм, рд▓реЗрдХрд┐рди рд╡рд╛рдХреНрдпрд╛рдВрд╢ "рдЬрдм рдореИрдВ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдкреГрд╖реНрда рдкрд░" рд╣реИрд▓реЛ "рдкрд╛рда рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ" рдЬрдм рдореИрдВ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдмрдирд┐рдХ рд▓рдЧрддрд╛ рд╣реИ, рдлрд┐рд░ рдореИрдВ рдкреГрд╖реНрда рдкрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдкрд╛рда ... "ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВ рдХреЗрд╡рд▓ рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд╢рдмреНрдж "рддрдм" рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

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

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

рдЫрд╡рд┐

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

[TestMethod]
public void _______()
{
string caption = U.GetRandomString();
string text = U.GetRandomString();

using (IE ie = new IE())
{
U.Logout(ie);
ie.GoToContacts();
ie.TextField("Caption").Value = caption;
ie.TextField("Text").Value = text;
ClickOnSendMessage(ie);
ie.Text.ShouldContain(" ");
Div div = U.GetLastUnreadMailMessageText(ie);
div.Text.ShouldContain(text);
}
}


рдФрд░ рдпрд╣рд╛рдБ рдЕрдм рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

[TestMethod]
public void _______()
{
___();
______();
_____("", " ");
_____("", " ");
______("");
__(" ");
__();
____(" ");
}


рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЙрд╕реЗ рдЪрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо ("This_Let_Listen_contains_text" рдХрд╛рд░реНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ "Admin_Recome_Letter")ред рдЗрд╕реЗ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ protected object _lastActionResult; рд░реВрдк рдореЗрдВ рднреА рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ protected object _lastActionResult; рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЙрд╕рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред

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

рдЫрд╡рд┐

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


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

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


All Articles