рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдВрджреЗрд╢ рдореБрдЦрд░ рдХрд░реЗрдВ

рдлрд┐рд░ рд╕реЗ рд╣реИрд▓реЛред "рд╕реА # рдбреЗрд╡рд▓рдкрд░" рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ , рд╣рдордиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдореБрдЦрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд╛рдж рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реИрдВред




рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ Assert рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдПрдХ рдкрд╛рдардХ рд╕рд╣рдпреЛрдЧреА рд╕реЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓ рдорд┐рд▓рд╛, рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

рдореЗрд░реЗ рдкрд╛рд╕ рдПрд╕реНрдЯрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ: рдХреНрдпрд╛ рдореБрдЭреЗ рд╕рдВрджреЗрд╢ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рдЕрдзрд┐рднрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд╕реНрдЯрд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрддрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ("рджрд╛рд╡реЗ") ?

рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЛ рдкрд╣рд▓реБрдУрдВ рдкрд░ рдЖрддрд╛ рд╣реИ:

  • рдкрд░реАрдХреНрд╖рдг рдХреА рдкрдардиреАрдпрддрд╛ - рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
  • рдирд┐рджрд╛рди рдореЗрдВ рдЖрд╕рд╛рдиреА - рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рдХреНрдпреЛрдВ рд╣реИред

рдЖрдЗрдП рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ

рдЯреЗрд╕реНрдЯ рдкрдардиреАрдпрддрд╛


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

[Test]
public void Hiring_a_new_team_member()
{
    var company = new Company();
    var person = new Person(UserType.Customer);

    company.HireNewMember(person);

    Assert.AreEqual(UserType.Employee, person.Type); //  
    Assert.AreEqual(1, company.NumberOfEmployees); //  
}

рдирдВрдЧреЗ рдореБрдЦрд░ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдпрд╣ рднреА рдХрд╛рд░рдг рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдореБрдЦрд░ рдХреБрдЫ рдорд╛рдиреНрдп рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ:

[Test]
public void Hiring_a_new_team_member()
{
    var company = new Company();
    var person = new Person(UserType.Customer);

    company.HireNewMember(person);

    Assert.AreEqual(UserType.Employee, person.Type, "Person must become an employee after hiring");
    Assert.AreEqual(1, company.NumberOfEmployees, "Number of employees must increase");
}

рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдпрд╛рди рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХ рдХреАрдордд рдкрд░ рдЖрддреЗ рд╣реИрдВред рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

  • рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рдПрдВ
  • рдЙрдиреНрд╣реЗрдВ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд░рд╣реЗрдВ

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

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

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

[Test]
public void Hiring_a_new_team_member()
{
    var company = new Company();
    var person = new Person(UserType.Customer);

    company.HireNewMember(person);

    Assert.That(person.Type, Is.EqualTo(UserType.Employee));
    Assert.That(company.NumberOfEmployees, Is.EqualTo(1));
}

рдпрд╛ рдЖрдк рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рджрд╛рд╡реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :

[Test]
public void Hiring_a_new_team_member()
{
    var company = new Company();
    var person = new Person(UserType.Customer);

    company.HireNewMember(person);

    person.Type.Should().Be(UserType.Employee);
    company.NumberOfEmployees.Should().Be(1);
}

рдЗрди рдХрдердиреЛрдВ рдХреЛ рд╕рд╛рджреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬрд┐рд╕ рддрд░рд╣ рдЖрдк рдЕрдкрдиреЗ рд╕рднреА рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдордиреБрд╖реНрдп рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рд╕рднреА рдХрд╣рд╛рдирд┐рдпрд╛рдБ рдЗрд╕ рдореЙрдбрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИрдВ:

[] [] [].

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,

  .

рдпрд╣рд╛рдБ - рд╡рд┐рд╖рдп, - рдХреНрд░рд┐рдпрд╛, рдФрд░ - рд╡рд╕реНрддреБред рд╡рд╣реА рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг

company.NumberOfEmployees.Should().Be(1);

рд╕реЗ рдмреЗрд╣рддрд░ рдкрдврд╝рддрд╛ рд╣реИ

Assert.AreEqual(1, company.NumberOfEmployees);

рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
, . , .


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

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


рдкрд░реАрдХреНрд╖рдг рдкрд┐рд░рд╛рдорд┐рдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг

рдЬрдм рдЖрдк рдкрд░реАрдХреНрд╖рдг рдкрд┐рд░рд╛рдорд┐рдб рдореЗрдВ рдЕрдзрд┐рдХ рдЪрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХреАрдХрд░рдг (рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдВрдб-рдЯреВ-рдПрдВрдб) рдкрд░реАрдХреНрд╖рдг рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдерди рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐:

person.Type.Should().Be(UserType.Employee);

рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ:

Xunit.Sdk.EqualException: Assert.Equal() Failure
Expected: Employee
Actual:   Customer

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

рдмреЗрд╢рдХ, рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмреВрд▓рд┐рдпрди рддреБрд▓рдирд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

(person.Type == UserType.Employee).Should().BeTrue();

рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреА рдУрд░ рдЬрд╛рддреЗ рд╣реИрдВ:

Xunit.Sdk.TrueException: Assert.True() Failure
Expected: True
Actual:   False

рдЬреЛ рдирд┐рджрд╛рди рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рд░рд╛рдВрд╢


рдЬрдм рдЖрдк рдмрдпрд╛рди рд▓рд┐рдЦрдиреЗ рдХреА рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЕрдХреНрд╕рд░ рдЖрд▓рд╕реА рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ? рдЦреИрд░, рдЕрдм рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рдард╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рд▓реЗрдЦ рдкрд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред


"рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдПрдХ рдирд╛рдо рд╣реИ"

рдЬреЛрдХреНрд╕ рдПрдХ рддрд░рдл, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рдПрдХ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ:

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

рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдк рдореБрдлреНрдд рд╡реЗрдмрд┐рдирд╛рд░ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ , рдЬреЛ рдЖрдЬ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

All Articles