๋ฌธ์์ ๋ฐ๋ฅด๋ฉด: https://github.com/nunit/docs/wiki/Order-Attribute
OrderAttribute๋ ํ ์คํธ๊ฐ ์คํ๋๋ ์์๋ฅผ ์ง์ ํ๊ธฐ ์ํด ํ ์คํธ ๋ฉ์๋ ๋๋ ๊ณ ์ ์ฅ์น ์ ๋ฐฐ์น๋ ์ ์์ต๋๋ค.
์ด ๋ฌธ์๊ฐ ๋ ๊ฐ์ง ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์กด์ค๋๋ ๊ฒ์ ๋ณด์ง ๋ชปํ์ต๋๋ค.
๋ค์ TextFixture ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
[TestFixture("A", false)]
[TestFixture("B", false)]
[TestFixture("A", true)]
[TestFixture("B", true)]
์ด๊ฒ์ ๋ฌด์๋ณด๋ค ๋ฌธ์ํ/์ดํด๋ ฅ ๊ฒฐํจ์ผ๋ก ๋๊ปด์ง์ง๋ง ๋งํฌ๋ ๋ฌธ์๊ฐ "_๋๋ ๊ณ ์ ์ฅ์น_"๋ผ๊ณ ๋ช ์ํ๋ ๋ฐฉ์์ ๋ด๊ฐ ์ธ ์ ์์์ ์์ํฉ๋๋ค.
[TestFixture("A", false), Order(0)]
[TestFixture("B", false), Order(1)]
[TestFixture("A", true), Order(2)]
[TestFixture("B", true), Order(3)]
์ค์ ๋ก ์ด๊ฒ์ 1, 2 ๋ฐ 3์ ๋ํ ์ปดํ์ผ๋ฌ ์ค๋ฅ์ผ ๋
์ค๋ณต๋ '์ฃผ๋ฌธ' ์์ฑ
๊ทธ๋ฌ๋ ์ด๊ฒ์ด ์ค๋ณต์ผ๋ก ์ง๊ด์ ์ผ๋ก ์๋ํ๋ฉด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค.
@Aarskin ๋จ์ผ ๋ฌธ์ ์ ๋ํ ํ ๋ก ์ด ๋จ์ผ gitHub ๋ฌธ์ ๋ด์์ ์ ์ง๋๋ค๋ฉด ์ฐ๋ฆฌ(NUnit ๊ฐ๋ฐ์)์ ์ฌ์ฉ์ ๋ชจ๋์๊ฒ ๋์์ด ๋ฉ๋๋ค.
์ฌ๊ธฐ์์ ์ค๋ช ํ๋ ๋ณํ์ ๊ธฐ๋ณธ์ ์ผ๋ก #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)]
์ฌ์ฉํ๋ ค๋ 8๊ฐ์ง ์์ฑ์ ๋ค๋ฅธ ์์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. 4๊ฐ์ TestFixture
์์ฑ์ ๋ชจ๋ ๋์ผํ ํด๋์ค์ ๋ฐฐ์น๋์ด NUnit์ด ํด๋น ํด๋์ค๋ฅผ ๋ค ๋ฒ ์ธ์คํด์คํํฉ๋๋ค. 4๊ฐ์ Order
์์ฑ๋ ๊ฐ์ ํด๋์ค์ ๋ฐฐ์น๋์ด ํ
์คํธ์ ํ๋์ ์์๋ง ์์ ์ ์์ผ๋ฏ๋ก ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
์ด๊ฒ์ NUnit์ ์ ํ์ฌํญ์ด __์๋๋๋ค__. C# ํน์ฑ ๊ตฌ๋ฌธ์ด ์๋ํ๋ ๋ฐฉ์์ ๋๋ค. ์ฃผ๋ชฉํด์ผ ํ ๋ ๊ฐ์ง ํต์ฌ ์ฌํญ์ด ์์ต๋๋ค.
๋๊ดํธ ์์ ๋ชจ๋ ์์ฑ์ ์์ฑ์ ํ์ฉํ ์ ์๋ ์ฝ๋์ ๋ค์ ์์์ ์ ์ฉ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํด๋์ค์ ๋๋ค.
[A, B, C]์ ๊ฐ์ด ๋๊ดํธ๋ก ๋ฌถ์ธ ์์ฑ ์ํ์ค๋ [A] [B] [C]์ ๊ฐ์ด ๋ณ๋์ ๋๊ดํธ ์ ๋ด์์ ๋์ผํ ์ํ์ค์ ์ ํํ ๋์ผํ ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค.
์คํ์ผ์ ๋ฌธ์ ๋ก, ํ ์คํธ์ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ์์ฑ๋๋๋ก ํ๋ ์์ฑ๊ณผ ํจ๊ป ์ผํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ ํผํฉ๋๋ค. ํผ๋์ ์ผ์ผํค๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๊ฒ์ Order
์์ฑ/๋งค๊ฐ๋ณ์๋ฅผ TestFixture
์ ํ์ฉํ๋ ๊ฒ์ผ๋ก ๋ค์ ๋ณํํ ์ ์์ง๋ง ์ด๋ฅผ ๊ณ ๋ คํ๊ธฐ ์ ์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์๋ ค์ฃผ์ค ์ ์์ต๋๊น? ์ผ๋ฐ์ ์ผ๋ก Order
๋ ํ
์คํธ์์ ๋ ๊ธด ์์
์ ์ผ๋ถ๋ฅผ ์์๋๋ก ์ํํ๋ ์์๋ก ํตํฉ ํ
์คํธ๋ฅผ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋งค๊ฐ๋ณ์ํ๋ TestFixture
๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค๋ฅธ ์
๋ ฅ ๋ฐ์ดํฐ๋ก ๋์ผํ ํ
์คํธ๋ฅผ ํ
์คํธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํน์ ์์๋ก ๊ทธ๋ ๊ฒํ๊ณ ์ถ์ ์๋๋ฆฌ์ค๋ ์๊ฐํ ์ ์์ต๋๋ค.
๋ด ์ฌ์ฉ ์ฌ๋ก๋ ๋ ผ๋ฆฌ์ ๋น์ฆ๋์ค ํ๊ท ํ ์คํธ์ด๊ณ TestFixture์ ์์ฑ/๋งค๊ฐ๋ณ์๋ ๋ด๊ฐ NUnit์ ์ฌ์ฉํ๋ ค๋ ๋ฐฉ์์ ๊นฐ ์ ์์ต๋๋ค. ์ด์ ๋ณด๋ค ์ด๋ฌํ ํ๋ ์์ํฌ๋ ๋จ์ ํ ์คํธ์๋ง ์ฌ์ฉ๋๋ ๊ฒ์ด ์๋๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ฌ๋ฌ TestFixture
์์ฑ ๋์ TestFixtureSource
๋ก ์ ํํ ์ ์์ต๋๋ค. TestFixtureSourceAttribute
ํ๋๋ง ์์ผ๋ฉด ์กฐ๋ช
๊ธฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ ์์๋๋ก ์คํ๋ฉ๋๋ค.