์ด ํฐ์ผ์ ์ด๋ฉด ํ์ฌ AutoFixture์ ์๋ 'Ploeh.AutoFixture' ๋ค์์คํ์ด์ค์ ๋ํ ์ฐ๋ฆฌ์ ์ ์ฅ๊ณผ ์ด์ ๋ํ ์ฐ๋ฆฌ์ ๋น์ ์ด ๋ฌด์์ธ์ง ์ดํดํ๊ณ ์ถ์ต๋๋ค. ์ด ์ง๋ฌธ์ ์ด๋ฏธ ์ ๊ธฐ ๋์๊ณ ์ฐ๋ฆฌ๋ ๋ถ๋ช ํ ๋ฏธ๋์ ๋ค์ ๋ง๋ ๊ฒ์ ๋๋ค :)
์ฐ๋ฆฌ๊ฐ ํ๋ํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๊ทธ๋๋ก ๋๊ฑฐ๋ Ploeh
์ ๋์ฌ๋ฅผ ์ ๊ฑฐํ์ญ์์ค. ๊ฐ ์ต์
์๋ ์ฅ๋จ์ ์ด ์์ต๋๋ค.
Mark๊ฐ ๋ ์ด์ ์ ์ฅ์์ ์์ ์๊ฐ ์๋๋ผ๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ ํ์ฌ๋ก์๋ ๋ชจ๋ ๋ค์์คํ์ด์ค์ Ploeh
์ ๋์ฌ๋ฅผ ์ ์งํ๋ ๊ฒ์
๋๋ค.
__์ฅ์ :__
v4
๋ง์ด๊ทธ๋ ์ด์
ํ๋ ๋์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ฑ๋์ง ์์ต๋๋ค.__๋จ์ :__
Ploeh
๊ฐ ๋๊ตฌ์ธ์ง ๋ชจ๋ ์ฌ๋์ด ์์ง ๋ชปํ๋ค๋ ๊ฒ์
๋๋ค. ์๋ก์ด (๋ฐ ๊ธฐ์กด) ์๋น์์๊ฒ ์ ์ด ํน์ดํ ์ ๋์ฌ๊ฐ ์๋์ง ๋ช
ํํ์ง ์์ ์ ์์ต๋๋ค. :)์ต์
์ ๋ชจ๋ ํ๋ก์ ํธ์ ๋ชจ๋ ํ์ผ์ ๋ณ๊ฒฝํ๊ณ Ploeh
์ ๋์ฌ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์
๋๋ค. ๊ธฐ์ ์ ์ผ๋ก ํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ง๋ฌธ์ ์ฐ๋ฆฌ์ ๊ฒฐ์ ์ ๊ดํ ๊ฒ์
๋๋ค.
์ฅ๋จ์ ์ _Keep as is_ ์ต์ ๊ณผ ๋์ผํฉ๋๋ค.
__์ฅ์ :__
__๋จ์ :__
v4
๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ๋ชจ๋ ์ฌ๋์ ๋ค์์คํ์ด์ค ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ฏ๋ก ์ด๋ ์์ฒญ๋ ๋ณ๊ฒฝ์ด ๋ ๊ฒ์
๋๋ค. ๋ํ ์ ์ฒด ์ ํ ์ด๋ฆ์ด ์ด๋๊ฐ์ ๋ฌธ์์ด๋ก ํ๋์ฝ๋ฉ๋์ด ์์ ์ ์์ต๋๋ค. ๋ฌผ๋ก ํ ๋ฒ๋ง ํ๋ฉด ๋๋ฏ๋ก ํ๊ธฐ ์ฝ์ง๋ง ์ด ๋ชจ๋ ์์ ๊ถ์ ์ถ์ ํ์ง ์๊ณ AF๋ง ์ฌ์ฉํ๋ ์ฌ๋๋ค์ด ์์ต๋๋ค. ๊ทธ๋ค์๊ฒ๋ ๊ฝค ์ง๋ฃจํ ๊ฒ์
๋๋ค.์ฐ์ ์ด ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ทธ๊ฐ ๊ฐ์ธ์ ์ผ๋ก ์ ํธํ๋ ๋ฐฉ์์ ๋ํ @ploeh์ ์๊ฒฌ์ ๋ฃ๊ณ ์ถ์ต๋๋ค. ๋น์ , Mark๋ ์ฌ๊ธฐ์ ๋ง์ ํฌ์๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ๋น์ ์ ๋น์ ์ด ์ค์ํฉ๋๋ค.
๋ํ @ecampidoglio , @moodmosaic ๋ฐ @adamchester์ ๊ฐ์ ํต์ฌ ํ์ ์ฌ๋๋ค์ ์ฐธ์ฌ์ํค๊ณ ์ถ์ต๋๋ค.
๊ฒฐ์ ํ ํ์๋ ๊ฒฐ์ ์ ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ๋์ค์ ์ฌ๊ธฐ์ ์ง๋ฌธ/๋์ํ์ง ์๋ ์ฌ๋์ ์ ๋ฌํ ์ ์์ต๋๋ค. :)
๋ด๊ฐ ์๋ ํ ๋๋ถ๋ถ์ OSS ํ๋ก์ ํธ์๋ ์ด๋ฆ๊ณผ ๋์ผํ ๋ฃจํธ ๋ค์์คํ์ด์ค๊ฐ ์์ผ๋ฏ๋ก ์ฌ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค. ์ด๊ฒ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด๋ฏ๋ก ์ฃผ ๋ฒ์ ์ ์ฆ๊ฐ์ํค๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๐ ๋ธ๋ ์ดํน ๋ฒ์ ์์ ๋ฃจํธ ๋ค์์คํ์ด์ค๋ฅผ AutoFixture
๋ก ๋ณ๊ฒฝํฉ๋๋ค.
๋๋ Ploeh ๋ค์์คํ์ด์ค๋ฅผ ์ ์งํ๋ ๊ฒ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ์์ ๊ถ์ ๊ด๋ จ์ด ์์ผ๋ฉฐ
์๋ฒฝํ๊ฒ ์๋ํ๋ ๊ฒ๋ค์ ๋ํ ๋ค์์คํ์ด์ค ๋ณ๊ฒฝ, ์..?
2017๋ 4์ 2์ผ ์ผ์์ผ 14:04 Adam Ralph [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๐ ๋ธ๋ ์ดํน ๋ฒ์ ์์ ๋ฃจํธ ๋ค์์คํ์ด์ค๋ฅผ AutoFixture๋ก ๋ณ๊ฒฝํฉ๋๋ค.
โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/AutoFixture/AutoFixture/issues/745#issuecomment-290999395 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAwCv_G4V_0nKgVTPpSAOpmMAQ8BMJQ6ks5rr9UpgaJpZM4Mw1jd
.
์ ๋ฐ์ ์ธ ๋ถ์์ ๋์ํฉ๋๋ค(์์์ ์ค๋ช ํ ์ฅ๋จ์ ).
์ฌ๊ธฐ ์ฌ๋ฌ ์ฌ๋๋ค์ด ์ด๋ฏธ ์ธ๊ธํ๋ฏ์ด ๋ค์์คํ์ด์ค๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ํ๊ธฐ์ ์ธ ๋ณ๊ฒฝ์ด ๋ ๊ฒ์ ๋๋ค. OTOH, ๋ฒ์ 3๊ณผ ๋ฒ์ 4 ์ฌ์ด์ ๋ค์์คํ์ด์ค ๋ณ๊ฒฝ์ ๊ฑฐ๋ฒ๋์ค ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์ต์ํ ๋ฐฉ์ด ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ๋ฒ์ 4์ ๋ฒ์ 5 ์ฌ์ด์์ 'Ploeh'๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ ๋ฐฉ์ดํ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ด๋ ค์ธ ๊ฒ์ ๋๋ค.
๋ค์์คํ์ด์ค์์ 'Ploeh'๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด ์ง๊ธ์ด ํด์ผ ํ ๋์ ๋๋ค.
@ploeh ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ํ ๊ฐ์ง ๋ ์ง๋ฌธ - ๊ฐ์ธ์ ์ผ๋ก ์ด๋ค ์ต์ ์ ์ ํธํฉ๋๊น? :) ์ด๊ฒ์ด ์ฝ๊ฐ ๊น๋ค๋ก์ด ์ง๋ฌธ์ด๋ผ๋ ๊ฒ์ ์๋๋ค. ๊ทธ๋ฌ๋ ๋น์ ์ด ์ค๋ฆฝ์(๋๋ ๊ณต๋ ์ค๋ฆฝ์, ํ์คํ์ง ์์ต๋๋ค :flushed:)์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ค์ํ ์ง๋ฌธ์ด ์ ํผ์๋ง์ด ์๋๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
์์ผ๋ก ๋์๊ฐ๋ ํ๋ก์ ํธ์ ์ต์ ์ด๋ผ๊ณ ์๊ฐํ๋ ๊ฒฐ์ ์ ๋๋ฌํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค ๐
์ธ๋ถ ๊ด์ ์์ ๋ณผ ๋ ๋ค์์คํ์ด์ค๊ฐ Ploeh.Autofixture
์ธ ๊ฒ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฒซ ๋ฒ์งธ ์ฌ์ฉ์ ์ฝ๊ฐ ์ด๋ ต๊ฒ ๋ง๋ค์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ๋ค์์คํ์ด์ค๊ฐ ์ฌ๊ธฐ GitHub์ ํจํค์ง ์ด๋ฆ์ด๋ ํ๋ก์ ํธ์ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค.
using Auto...
ํ๊ณ Intellisense์์ ๋น ๋ชฉ๋ก์ ์์ ํ๋ ๊ฒ์ ์ผ์ข
์ ๋๋ผ์ด ์ผ์
๋๋ค.
@Kralizek์ ๋์ํฉ๋๋ค.
๊ทธ๋ฌ๋ Fixture.Net์ผ๋ก ํ๋ก์ ํธ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๋ฌธ์ (๊ฐ์ธ์ ์ผ๋ก๋ ์ด ๋จ๊ณ๋ฅผ ์ง์ํ์ง๋ง)๋ .NET ์ปค๋ฎค๋ํฐ ์ด๋ฆ์์ ๊ฝค ๊ด๋ฒ์ํ๊ณ ์ ์๋ ค์ง ์ด๋ฆ์ ๊นจ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
@ploeh๊ฐ ์ด ๋ด์ฉ์ ๋์
๋ค์์คํ์ด์ค์์ 'Ploeh'๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด ์ง๊ธ์ด ํด์ผ ํ ๋์ ๋๋ค.
๋ฌผ๋ก ์ด๊ฒ์ v4
๋ถ๊ธฐ์์๋ง ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ค์ ์คํ์ด์ค ๋ณ๊ฒฝ์ ๋ค์ ์ฝ๊ณ ๊ฒ์ ๋ฐ ๋ฐ๊พธ๊ธฐ์ด๋ฉฐ ์์ฒด ์์ค ์ฝ๋์์ ์ํ๋ฉ๋๋ค.
๋ฌธ์ ๋ ๋ค๋ฅธ ํจํค์ง๊ฐ AutoFixture๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ nuspec์ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ์๋ ๊ฒฝ์ฐ nuget๊ณผ ๊ด๋ จ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด๊ฒ๋ ์ค๋จ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๋น๋ถ๊ฐ ์ฌ์ฉ์๋ AutoFixture 3.x๋ก ์ฝ๊ฒ ๋์๊ฐ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋ฌธ์, ๋ฆด๋ฆฌ์ค ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ ๋ฑ์์ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋๋ ๋ค์์คํ์ด์ค์์ Ploeh๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ๋ค์์คํ์ด์ค์์ ๊ฐ์ธ ์ด๋ฆ์ ์ํ์ง ์์ต๋๋ค. ๋ด ํ๋ก์ ํธ ์ด๊ธฐ์ ์ด ์์ ์ ์ํํ๊ณ , ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ด ์ซ์์ต๋๋ค. ;)
๋ค๋ฅธ ํจํค์ง๊ฐ AutoFixture๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ nuspec์ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ค๋จ๋ฉ๋๋ค.
๋๋ ๊ทธ๊ฒ์ ๋ํด ๊ฑฑ์ ํ์ง ์์ ๊ฒ์
๋๋ค. ๋ชจ๋ ๋ธ๋ ์ดํน ๋ฒ์ ์ ๋ํด ๋์ผํ ๋ฌธ์ ๊ฐ ์กด์ฌํฉ๋๋ค. ๋ค์ด์คํธ๋ฆผ ํจํค์ง๊ฐ ๋ค์ ์ฃผ์ ๋ฒ์ (์: <dependency id="AutoFixture" version="[3.0,4.0)" />
์ ๋
์ ์ ์ธ ์ํ์ ์ ๋์ง ์๋๋ก ์ ํํ ๊ฒฝ์ฐ AutoFixture์ ์ฃผ์ ๋ฒ์ ์ด ๋ฆด๋ฆฌ์ค๋ ๋๋ง๋ค ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
@abatishchev Fixture.Net
๋ ๋ค๋ฅธ ํ ๋ก ์์ ๋์จ ๊ฒ์
๋๊น? ๋ค์์คํ์ด์ค๋ฅผ AutoFixture
๋ณ๊ฒฝํ๊ธฐ
@moodmosaic ์ด์ ๋ํ ๊ทํ์ ์ ์ฅ๋ ์ถ๊ฐํด ์ฃผ์๊ฒ ์ต๋๊น? ์ต์ข ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ํด์๋ ๋ชจ๋ ํต์ฌ ๊ด๋ฆฌ์์ ์๊ฒฌ์ด ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ฮ ๋ ์ด๋ฏธ ํ์ต๋๋ค.
@moodmosaic ๊ทธ ๋ต๋ณ์ ๋ณด์์ง๋ง ๊ทํ์ ์ ์ฅ์ด ํ์คํ์ง ์์ต๋๋ค. ๋ค์์คํ์ด์ค๋ฅผ ์ ์งํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ๋ฐ ํฌํํ์ญ๋๊น? :)
๋๋ ๊ทธ๊ฒ์ ์ ์งํ๊ธฐ ์ํด ํฌํํฉ๋๋ค. ๋ฐฉํด๊ฐ ์ ์ต๋๋ค.
๋ฐฉํด๊ฐ ๋๋ ์ผ์ ํ๋ ๊ฒ์ด ๊ฑฑ์ ๋๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ๋ง์ ์ฌ๋๋ค์ด ์ด๋ฌํ ๋ณ๊ฒฝ์ ์๊ตฌํฉ๋๋ค.
๋ ๋ฐฉํด๊ฐ ๋๋ ๊ฒ์ ํ๋ก์ ํธ๋ฅผ ๊ทธ๋๋ก ๋๊ณ ์ ํ ๋ณ๊ฒฝํ์ง ์๋ ๊ฒ์
๋๋ค. ํ์ง๋ง ์ด ๋ชจ๋ ๊ณผ์ ์ ๊ทธ๊ฒ ์๋์์์?
๋๋ ๊ฐ์ธ์ ์ผ๋ก ๋น์ ์ด ์ด ๋ณํ๋ฅผ ์งํํ๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
@moodmosaic ๊ทธ ๋ต๋ณ์ ๋ณด์์ง๋ง ๊ทํ์ ์ ์ฅ์ด ํ์คํ์ง ์์ต๋๋ค.
๋ฃจํธ ๋ค์์คํ์ด์ค๊ฐ v4
AutoFixture ๋ก ์ด๋ฆ์ด
Ploeh
๋ค์์คํ์ด์ค๋ฅผ ์ ์งํ๋ ๊ฒ์ ๋ํ ์ด์ ํฌํ ๋ฅผ
์์ ๊ถ์ ๋ณ๊ฒฝ์ ๊ฐ์ํ ๋ ์์ผ๋ก ์งํ ์ค์ธ ํ๋ก์ ํธ์ ์ ์ ํ ์๊ธฐ๊ฐ ์ด๋ป๊ฒ ์๋ฏธ๊ฐ ์๋์ง ์ ์ ์์ต๋๋ค. ์ด ์์ ์์ ๋ด๊ฐ ์๊ฐํ ์ ์๋ ์ ์ผํ ๋ฐ๋ก ์ ์ค๋ก์ง ๊ฐ์ ์ ๊ทผ๊ฑฐํฉ๋๋ค.
@ecampidoglio , ๋๋ ๊ฐ์ ์ด ์์์ง๋ง v4์์ _AutoFixture_๋ง์ผ๋ก ๋ '์ ํ'ํ ๊ฒ ๊ฐ์์...
@moodmosaic ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ๊ฐ์ ์ผ์ด ์ค์ ๋ก ๋ฐ์ํฉ๋๋ค. ์ด ํ๋ก์ ํธ๋ฅผ ๋ ๋ง์ด ๋ฐฐ์ธ์๋ก Mark๊ฐ ์ฌ๊ธฐ์ ์ํํ ์์ ์ ์์ ๋ ๋ง์ด ๋ณด๊ณ ๊นจ๋ซ์ต๋๋ค. ์๋ง์ ๋ค์ํ ํ ๋ก , ์ฌ์ํ ์กฐ์ , SO์ ๋ํ ๋ต๋ณ ๋ฑ. ์ ๋์ฌ๋ฅผ ๋ค๋ฌ๋ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๊ฒ์ด ์ ์ ๋ ์ด๋ ค์์ง๋๋ค. ๋งํฌ์ ๋ํด ๊ฐ์ฌํ์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
๋ค๋ฅธ ์ธก๋ฉด์์๋ ๊ฐ๋จํ AutoFixture
์ ๋์ฌ๊ฐ ํจ์ฌ ๋ ์ข๊ณ ์ผ๊ด์ ์ผ๋ก ๋ณด์ผ ๊ฒ์ด๋ผ๋ ์ ์ ์ดํดํฉ๋๋ค. ์ฌ์ค,์ด ๋งํฌ์ ์ด๋ฆ์ ์์ง ๊ฒฐ์ ํ๊ฒ์กฐ์ฐจ ์ด๋ ค์์ง๋ค ์ ๋์ฌ๋ฅผ ์ ์งํ๊ธฐ ์ํด @adamchester ๋ฐ @ecampidoglio ํฌํ๋ก .. ํจํค์ง ์ ์, ์ํค, ๋ฌธ์ ์ ๋ชฉ๋ก์ ํ์๋๋ ๋ฐ์ ๊ฐ์ด, ์ฌ๊ธฐ์ ๋์ฐํ ์๋ฌด๊ฒ๋ - ๋ง์์๋ฅผ ๊ฐ์ ์ ์ธ ๊ฒ๋ค์ด ์ฌ๊ธฐ์ ์กด์ฌํฉ๋๋ค. ์๋ง๋ ๊ฐ์ ์ ์ธ ๋ถ๋ถ์ ๋ถ๋ฆฌํ๊ณ ํผ๋ํ์ง ์๋๋ก ํด์ผ ํ ๊ฒ์
๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ ๋ ๋ค์์คํ์ด์ค ํธ๋ฆฌ๋ฐ์ Mark์ ์์
์ ๋ํ ๊ฐ๊ฐ์๊ฐ ํ์๋ก ์ทจ๊ธํ์ง ์์ต๋๋ค. ๊ทธ ์ด์ ๋ ์์ํ ๊ฐ์ฌ ๋๋ฌธ์
๋๋ค. ์ ๋์ฌ๊ฐ ์์ด๋ ๋๋ ์ฌ์ ํ ๊ทธ์๊ฒ ๋งค์ฐ ๊ฐ์ฌ ํ ๊ฒ์
๋๋ค.
๊ทธ๋ฌ๋ ๋ด๊ฐ ํ๋ก์ ํธ ์์ ์ ๋๋ฌด ๋ฆ๊ฒ ์์ํ๋ค๋ ๊ฒ์ ๊ฐ์ํ ๋(์๋ฌด๋ ๋๋ฅผ ์์ง ๋ชปํฉ๋๋ค) Mark์ ๊ธฐ์ฌ๋ฅผ ์์ ํ ์ดํดํ ์ ์์ผ๋ฉฐ ๋ฐ๋ผ์ ์ต์ข ๋จ์ด๋ ํ์คํ ํต์ฌ ๊ธฐ์ฌ์์๊ฒ ๋ฌ๋ ค ์์ด์ผ ํฉ๋๋ค.
@zvirja ๋๋ ๋น์ ์ด ๋ด ์ด์ ์๊ฒฌ ์ ์๋ชป ์ดํดํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๊ฒ์ด ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ํ๋ ๊ฒ์ด๋ผ๋ฉด ๋๋ ๊ทธ๊ฒ์ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์, ์ ์งํ๊ณ ์ถ์ง๋ง v4์ AutoFixture
๋ค์์คํ์ด์ค๋ ๊ด์ฐฎ์ต๋๋ค. ๐
๋ด ์๊ฒฌ์ ๊ธฐ๋ณธ์ ์ผ๋ก @ecampidoglio ์ ๊ฐ์ต๋๋ค. ์ฌ์ฉ์์๊ฒ ๋ถํ์ํ ํผ๋์ ํผํ๊ธฐ ์ํด์๋ง ๋ค์์คํ์ด์ค๋ฅผ ๊ทธ๋๋ก ์ ์งํ๊ณ ์ถ์ง๋ง v4์์ AutoFixture
๋ก ๋ณ๊ฒฝํด๋ ๊ด์ฐฎ์ต๋๋ค.
๊ทธ๊ฒ์ Mark์ ๋ํด ๊ฐ์ฌํ์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
๊ฑฑ์ ํ์ง ๋ง์ธ์. ๋น์ ์ด ๋์๊ฒ ์ค ์ ์๋ ์ต๊ณ ์ ๊ฐ์ฌ๋ AutoFixture๋ฅผ ๊ณ์ ์ ์งํ๋ ๊ฒ์ ๋๋ค. ๋น์ ์ด ๊ทธ๋ ๊ฒ ํ ์ ์๋ค๋ฉด, ๋๋ ๊ทธ ์์ฒด๋ก ์คํ ๊ฐ๋ฅํ ๊ฒ์ ๋ง๋๋ ๋ฐ ์ฑ๊ณตํ์ต๋๋ค. ์ด๋ณด๋ค ๋ ๋ง์กฑ์ค๋ฌ์ด ์ผ์ ๊ฑฐ์ ์์ ๊ฒ์ ๋๋ค.
๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค, ๋งํฌ!
์์ ๋ชจ๋ ๋ต๋ณ๊ณผ ํต์ฌ ํ์ด ๋ค์์คํ์ด์ค ๋ณ๊ฒฝ์ ์ ๊ฒฝ ์ฐ์ง ์๋๋ค๋ ์ ์ ๊ฐ์ํ๋ฉด v4 ๋ฒ์์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
์ด์
๋ธ๋ฆฌ ์ด๋ฆ์ ๋ํด ๋ฌป๊ธฐ ์ํด ๊ฐ๊ณผ ํ ๊ฒ์ด ํ๋ ๋ ์์ต๋๋ค. ํ์ฌ ์ด์
๋ธ๋ฆฌ ์ด๋ฆ๋ Ploeh๋ก ์์ํ๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ๋ค์์คํ์ด์ค ์ ๋์ฌ๋ฅผ ์ ๊ฑฐํ๋ฉด ์ด์
๋ธ๋ฆฌ์ ์ด๋ฆ๋ ๋ฐ๊พธ๋ ๊ฒ์ด ์ข์ต๋๋ค(์: Phoeh.AutoFixture.dll
์์ AutoFixture.dll
). NuGet์ด ์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฑฑ์ ํ ์ ์๋ ์ ์ผํ ๊ฒ์ ์ด๊ฒ์ด ์๋ก์ด ์ด์
๋ธ๋ฆฌ ID๊ฐ ๋๊ณ v3์์ v4๋ก ์ด์
๋ธ๋ฆฌ ๋ฆฌ๋๋ ์
์ ์ํํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์
๋๋ค.
@moodmosaic , @adamchester ๋ฐ @ecampidoglio - ์ด์ ๋ธ๋ฆฌ ์ด๋ฆ ๋ณ๊ฒฝ์ ๋ํด ์ด์๊ฐ ์์ต๋๊น? ์ค์ํ ๋ณํ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ผ๋ง๋งํผ์ ํ๊ฐํ ์ค๋น๊ฐ ๋์ง ์์์ต๋๋ค.
v4์์ ๋ค์์คํ์ด์ค์ ์ด๋ฆ์ด ๋ฐ๋๋ฉด v4 ๋ก์ ์ด์ ๋ธ๋ฆฌ ๋ฐ์ธ๋ฉ ๋ฆฌ๋๋ ์ ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ๊ทธ๋ฆฌ๊ณ ์ผ๊ด์ฑ์ ์ํด ์ด์ ๋ธ๋ฆฌ ์ด๋ฆ์ AutoFixture(.*)๋ก ๋ฐ๊พธ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ข์ ์ง์ , ๋๋ ๊ทธ๊ฒ์ ๋์ณค๋ค. ์ค์ ๋ก ๋ชจ๋ ์ ํ์ ์ ์ฒด ์ด๋ฆ์ ๋ค๋ฅด๋ฏ๋ก ๋ฆฌ๋๋ ์ ์ด ์๋ฏธ๊ฐ ์์ต๋๋ค. @adamchester ์ @ecampidoglio ๊ฐ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์ด๋ฆ๋ ๋ณ๊ฒฝํฉ์๋ค.
์๋ฃ! "Ploeh" ๋ค์์คํ์ด์ค ๋ฐ ์ด์ ๋ธ๋ฆฌ ์ด๋ฆ ์ ๋์ฌ๋ v4์์ ์ ๊ฑฐ๋์ด ๋์ "AutoFixture"๋ก ์์๋ฉ๋๋ค. ์ด ๋ณ๊ฒฝ์ ํตํด ํ์ฌ ์ ํ์ AutoFixture ํ์์๋ง ๊ฐ๋ฐ๋๊ณ ์์ผ๋ฏ๋ก ์ ๋ฐ์ดํธ๋ ์์ ๊ถ์ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์ด์ ๋ธ๋ฆฌ์ ๊ดํ ํ ์ฐ์์ฑ์ ์ ์ ๊นจ๋ ๊ฒ์์ ๋ช ์ฌํ์ญ์์ค. ์ฆ, ์ ํจํค์ง์๋ ์ ๋ฒ์ ์ ์ด์ ๋ธ๋ฆฌ๊ฐ ํฌํจ๋์ง ์์ต๋๋ค. ์คํ๋ ค ์ด์ ์ด์ ๋ธ๋ฆฌ๊ฐ ์ ๊ฑฐ๋๊ณ ์๋ก์ด ID๋ฅผ ๊ฐ์ง ์์ ํ ์๋ก์ด ์ด์ ๋ธ๋ฆฌ๋ก ๋์ฒด๋ฉ๋๋ค. ์ด๋ ๋ฐ์ธ๋ฉ ๋ฆฌ๋๋ ์ ๊ณผ ๊ฐ์ ๊ฒ์ด ํจํค์ง 3.x์ ํฌํจ๋ ์ด์ ๋ธ๋ฆฌ์ 4.x์ ํฌํจ๋ ์ด์ ๋ธ๋ฆฌ ๊ฐ์ ์๋ํ๋๋ก ๋ง๋ค ์ ์์์ ์๋ฏธํฉ๋๋ค.
์๋ง๋ ์ด๊ฒ์ ๋ฌธ์ ๊ฐ ์๋์ง๋ง ์ง์ ํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค.
BTW - ํจํค์ง๊ฐ ์
๊ทธ๋ ์ด๋๋ ๋ NuGet์ ๋์์ ํ์ธํ์ต๋๊น? SDK ์คํ์ผ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ํ๋ก์ ํธ์ ์ด์
๋ธ๋ฆฌ๊ฐ ์๋ ํจํค์ง๋ฅผ ๊ฐ๋ฆฌํค๋ <PackageReference>
์์๋ง ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ์คํ์ผ์ csproj๋ฅผ ์ฌ์ฉํ๋ฉด NuGet์ด ํ ์ด์
๋ธ๋ฆฌ์์ ๋ค๋ฅธ ์ด์
๋ธ๋ฆฌ๋ก ์ด์
๋ธ๋ฆฌ ์ฐธ์กฐ๋ฅผ ์ํ๋ ๋๋ก ๋ณ๊ฒฝํ๋์ง ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@adamralph ๊ฑฑ์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ด๋ ๋ฐ์ธ๋ฉ ๋ฆฌ๋๋ ์ ๊ณผ ๊ฐ์ ๊ฒ์ด ํจํค์ง 3.x์ ํฌํจ๋ ์ด์ ๋ธ๋ฆฌ์ 4.x์ ํฌํจ๋ ์ด์ ๋ธ๋ฆฌ ๊ฐ์ ์๋ํ๋๋ก ๋ง๋ค ์ ์์์ ์๋ฏธํฉ๋๋ค.
๋ค, ์๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฏธ ๊ธฐ๋ณธ ๋ค์์คํ์ด์ค๋ฅผ ๋ณ๊ฒฝํ์ต๋๋ค. ์ฆ, ์ด์ ๋ธ๋ฆฌ ๋ด์ ๋ชจ๋ ํ์์ ๋ํ ID๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด ๊ฐ๋ฒผ์ด ์ด์ ๋ธ๋ฆฌ ๋ฐ์ธ๋ฉ ๋ฆฌ๋๋ ์ ์ ์ฌ์ปดํ์ผ ๋ฐ ๊ฐ์ ธ์ค๊ธฐ ์์ ์์ด๋ ์ด๋ค ๊ฒฝ์ฐ์๋ ์ฝ๋๊ฐ ์๋ํ์ง ์์ผ๋ฏ๋ก ์๋ฏธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ๋ํด ์์ ํ ๊ด์ฐฎ๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์์ฒญ๋ ๋ณํ์ง๋ง ํ ๋ฒ๋ง ์ผ์ด๋ ๊ฒ์ ๋๋ค.
BTW - ํจํค์ง๊ฐ ์ ๊ทธ๋ ์ด๋๋ ๋ NuGet์ ๋์์ ํ์ธํ์ต๋๊น?
์, ์ด๋ฏธ ํ
์คํธํ์ผ๋ฉฐ ์ ์๋ํฉ๋๋ค. using Ploeh.AutoFixture
๋ฅผ using AutoFixture
๋ก ์์ ํ๊ธฐ ์ํด ํ
์คํธ ๋ฐ๊พธ๊ธฐ๋ฅผ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ํด๋น ํ๋ก์ ํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ปดํ์ผ๋๊ณ ํ
์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋๋ฉด.
๋น์ ์ดํด์ผ ํ ์ ์ผํ ์ผ์ AutoFixture๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Ploeh.AutoFixture๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์์ ํ๊ธฐ ์ํด ํ ์คํธ ๋ฐ๊พธ๊ธฐ๋ฅผ ์คํํ๋ ๊ฒ์ ๋๋ค. ํด๋น ํ๋ก์ ํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ปดํ์ผ๋๊ณ ํ ์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋ ํ.
๋ค, ๋ง์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ฑฑ์ ํ์ง ๋ง์ธ์. ๋น์ ์ด ๋์๊ฒ ์ค ์ ์๋ ์ต๊ณ ์ ๊ฐ์ฌ๋ AutoFixture๋ฅผ ๊ณ์ ์ ์งํ๋ ๊ฒ์ ๋๋ค. ๋น์ ์ด ๊ทธ๋ ๊ฒ ํ ์ ์๋ค๋ฉด, ๋๋ ๊ทธ ์์ฒด๋ก ์คํ ๊ฐ๋ฅํ ๊ฒ์ ๋ง๋๋ ๋ฐ ์ฑ๊ณตํ์ต๋๋ค. ์ด๋ณด๋ค ๋ ๋ง์กฑ์ค๋ฌ์ด ์ผ์ ๊ฑฐ์ ์์ ๊ฒ์ ๋๋ค.