Nunit: [рдЖрджреЗрд╢] TestFixtures рдкрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджреЛрд╖?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЕрдХреНрддреВре░ 2018  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nunit/nunit

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░: https://github.com/nunit/docs/wiki/Order-Attribute

рдСрд░реНрдбрд░ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдХреЛ рдЯреЗрд╕реНрдЯ рдореЗрдердб рдпрд╛ рдлрд┐рдХреНрд╕рдЪрд░ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЯреЗрд╕реНрдЯ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдЪрд▓рд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдореНрдорд╛рдирд┐рдд рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд TextFixture рдорд╛рдорд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

[TestFixture("A", false)]
[TestFixture("B", false)]
[TestFixture("A", true)]
[TestFixture("B", true)]

рдпрд╣ рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг/рд╕рдордЭ рджреЛрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ "_or рд╕реНрдерд┐рд░рддрд╛_" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореИрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ

[TestFixture("A", false), Order(0)]
[TestFixture("B", false), Order(1)]
[TestFixture("A", true), Order(2)]
[TestFixture("B", true), Order(3)]

рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ 1, 2 рдФрд░ 3 рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐ рд╣реИ

рдбреБрдкреНрд▓рд┐рдХреЗрдЯ 'рдСрд░реНрдбрд░' рд╡рд┐рд╢реЗрд╖рддрд╛

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбреБрдкреНрд▓реАрдХреЗрдЯ рдХреЗ рд╕рд╛рде рд╕рд╣рдЬрддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд╛рдХрдИ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@Aarskin рдпрд╣ рд╣рдо рджреЛрдиреЛрдВ (NUnit рджреЗрд╡реЛрдВ) рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХрд┐рд╕реА рдПрдХ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдПрдХ рд╣реА gitHub рдореБрджреНрджреЗ рдХреЗ рднреАрддрд░ рд░рдЦреА рдЬрд╛рддреА рд╣реИред

рдЖрдк рдпрд╣рд╛рдВ рдЬрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдореВрд▓ рд░реВрдк рд╕реЗ #3055 рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред рд╡рд╣ рдпрд╣ рд╣реИ...

[TestFixture("A", false), Order(0)]
[TestFixture("B", false), Order(1)]
[TestFixture("A", true), Order(2)]
[TestFixture("B", true), Order(3)]

рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕реЗ рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛...

[TestFixture("A", false)]
[TestFixture("A", true)]
[TestFixture("B", true)]
[TestFixture("B", false)]
[Order(3)]
[Order(2)]
[Order(1)]
[Order(0)]

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

рдпрд╣ NUnit рдХреА __рдирд╣реАрдВ__ рд╕реАрдорд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реА # рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рджреЛ рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБ рд╣реИрдВ:

  1. рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рдХреЛрдИ рднреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛрдб рдореЗрдВ рдЕрдЧрд▓реЗ рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╡рд░реНрдЧ рд╣реИред

  2. рд╡рд░реНрдЧрд╛рдХрд╛рд░ рдХреЛрд╖реНрдардХреЛрдВ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо, рдЬреИрд╕реЗ [A, B, C] рдХрд╛ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдЕрд░реНрде рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрд╖реНрдардХ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреБрдЧреНрдореЛрдВ рдореЗрдВ рд╕рдорд╛рди рдЕрдиреБрдХреНрд░рдо рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ [A] [B] [C]ред

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

рдЗрд╕реЗ Order рд╕рдВрдкрддреНрддрд┐/рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ TestFixture рдкрд░ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдХреНрдпрд╛ рдЖрдк рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдо рддреМрд░ рдкрд░ Order рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдХреНрд░рдо рдореЗрдВ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд▓рдВрдмреЗ рдСрдкрд░реЗрд╢рди рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкреИрд░рд╛рдореАрдЯрд░рдпреБрдХреНрдд TestFixture рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рдЬрд╣рд╛рдБ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд░рдо рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

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

рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХрд╛рдзрд┐рдХ TestFixture рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп TestFixtureSource рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╢рд░реНрддреЗ рдХреЗрд╡рд▓ рдПрдХ TestFixtureSourceAttribute рд╣реЛ, рдлрд┐рдХреНрд╕реНрдЪрд░ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдЪрд▓рд╛рдП рдЬрд╛рдПрдВрдЧреЗ рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдЖрдк рдЙрдирдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

fluffynuts picture fluffynuts  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jnm2 picture jnm2  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Prodigio picture Prodigio  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

JackUkleja picture JackUkleja  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jnm2 picture jnm2  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ