Autofixture: ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํ•ด๋ฐฉ

์— ๋งŒ๋“  2016๋…„ 03์›” 03์ผ  ยท  21์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: AutoFixture/AutoFixture

Ploeh ์—์„œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ํ•ด๋ฐฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ”ผ๋“œ๋ฐฑ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด์ œ ์ด ํ† ๋ก ์ด ์ค„์–ด๋“ค์—ˆ์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์™€ ํŠธ์œ— ์—์„œ 'ํˆฌํ‘œ'๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  2๋ช…์ด ์ด ์ œ์•ˆ์— ์ฐฌ์„ฑํ•˜๋Š” ๋ฐ˜๋ฉด 10๋ช…์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ํ˜„์žฌ์™€ ๊ฐ™์ด ์œ ์ง€ํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ช‡ ๊ฐ€์ง€ ์˜๊ฒฌ์€ ํŠน๋ณ„ํ•œ ์„ ํ˜ธ๋„๋ฅผ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์œผ๋ฏ€๋กœ ์ง‘๊ณ„์— ํฌํ•จํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์— ํ•œ ํ‘œ๋ฅผ ํ–‰์‚ฌํ•  ๊ฒƒ์ด๋ฏ€๋กœ ์‹ค์ œ๋กœ ์ด ์ œ์•ˆ์— ๋ฐ˜๋Œ€ํ•˜๋Š” 11ํ‘œ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋น„์šฉ๋ณด๋‹ค ํฐ ๋ณ€ํ™”๋ฅผ ๋งŒ๋“œ๋Š” ์ด์ ์„ ์ฐพ์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ์˜ ์ด์ ์€ ๋‚ด๊ฐ€ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ์ตœ์†Œํ•œ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ง€๊ฐ์— ๋Œ€ํ•œ ์ฃผ์žฅ์„ ์ดํ•ดํ•˜๋ฉฐ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์ด์˜๋ฅผ ์ œ๊ธฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์ „์ ์œผ๋กœ ์ฃผ๊ด€์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ €๋Š” Unquote ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์‚ฌ์šฉ์ž์ด๋ฉฐ Swensen.Unquote ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์กฐ๊ธˆ๋„ ๊ท€์ฐฎ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ๋น„์šฉ๋„ ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ฝ”๋“œ๊ฐ€ ์†์ƒ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ˆ˜์ •์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ๊ฐ€์ ธ์˜ค๊ธฐ ์ง€์‹œ๋ฌธ์—์„œ Ploeh. ๋ฅผ ์‚ญ์ œํ•˜๊ธฐ

๋ณ€๊ฒฝ์˜ ์žฅ๋‹จ์ ์ด ๋ชจ๋‘ ์ž‘๊ธฐ ๋•Œ๋ฌธ์— ์‰ฌ์šด ๊ฒฐ์ •์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—, ๋‚˜๋Š” ์ฃผ์˜ ์ธก๋ฉด์—์„œ ์‹ค์ˆ˜ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ฐฑํ•œ ์ด์œ  ์—†์ด ์‚ฌ์šฉ์ž๋ฅผ ๋ถˆํŽธํ•˜๊ฒŒ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ทธ๋ž˜๋„ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๊ฒฌํ•ด๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ”ผ๋“œ๋ฐฑ์„ ์š”์ฒญํ–ˆ์„ ๋งŒํผ ๊ฐ€๊นŒ์šด ์ „ํ™”์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ํ†ต๊ณ„์ ์œผ๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š์ง€๋งŒ ๋‚ด ์˜๊ฒฌ์„ ๋ฐ”๊พธ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

@bjorn-ali-goransson, ์ด ํ† ๋ก ์„ ์‹œ์ž‘ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ํ† ๋ก ์„ ์‹œ์ž‘ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ˜„์ƒ ์œ ์ง€์— ๋„์ „ํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ๊ธฐ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๊ณ„์† ๊ทธ๋ ‡๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ๊ฒฐ์ •์ด ๋‹น์‹ ์ด ์›ํ•˜๋Š” ๋Œ€๋กœ ๋˜์ง€ ์•Š๋”๋ผ๋„, ๋‚ด๊ฐ€ ๊ณต์ •ํ•œ ์ˆ™๊ณ ๋ฅผ ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„์ฃผ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ชจ๋“  21 ๋Œ“๊ธ€

์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

using AutoFixture; ๋ณด๋‹ค using Ploeh.AutoFixture; using AutoFixture; ๋งŒ ์žˆ์œผ๋ฉด ๋” ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2016-03-03 22:34 GMT+01:00 Nikos Baxevanis [email protected] :

์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/AutoFixture/AutoFixture/issues/538#issuecomment -191973353
.

ํ”Œ๋กœ์— ๋ถ€๋ถ„์€ ๊ฐœ์ธ์ „๋•Œ์˜ ์ž”์žฌ์ธ๋“ฏ
์ทจ๋ฏธ ํ”„๋กœ์ ํŠธ๋“  ๋‹จ์ˆœํ•œ ๊ฐœ๋… ์ฆ๋ช…์ด๋“  ์‹คํ—˜์ด๋“ โ€ฆ
๋” ์ด์ƒ.

ํ”„๋กœ์ ํŠธ๊ฐ€ ๋” ๋งŽ์€ ๊ฒฌ์ธ๋ ฅ์„ ์–ป์„ ๋•Œ(๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์–ด๋‚  ๊ฒƒ ๊ฐ™์€
.NET ์„ธ๊ณ„๋Š” ์ ์  ๋” DI ์ชฝ์œผ๋กœ ์ด๋Œ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.)
์ผ๋ถ€ AutoFixture ์žฌ๋‹จ์ด ์†Œ์œ ํ•˜๋„๋ก ํ”„๋กœ์ ํŠธ๋ฅผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋ฌผ๋ก  ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

2016-03-03 22:37 GMT+01:00 Bjรถrn Gรถransson bjorn.a. [email protected] :

using AutoFixture; ๋ณด๋‹ค using Ploeh.AutoFixture; using AutoFixture; ๋งŒ ์žˆ์œผ๋ฉด ๋” ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2016-03-03 22:34 GMT+01:00 Nikos Baxevanis [email protected] :

์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/AutoFixture/AutoFixture/issues/538#issuecomment -191973353
.

์ด ์ œ์•ˆ์— ๋Œ€ํ•œ ๊ธฐ์ˆ ์  ๋™๊ธฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ •์ •ํ•ด ์ฃผ์‹ญ์‹œ์˜ค. ํ•˜์ง€๋งŒ ์ œ๊ฐ€ ์ด๊ฒƒ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ–ˆ๋‹ค๋ฉด ๋Œ€๋ถ€๋ถ„ ์ธ์‹์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ฒŒ์‹œํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ์— _Ploeh_ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ด ๋งž์Šต๋‹ˆ๋‹ค. AutoFixture๋Š” ์‹ค์ œ๋กœ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋กœ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

AutoFixture์—์„œ ๋ชจ๋“  ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋ฏ€๋กœ AutoFixture 3์—์„œ๋Š” ํ•  ์ˆ˜ ์—†์ง€๋งŒ AutoFixture 4์—์„œ๋Š” ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์€ ์ด ์ œ์•ˆ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ? /cc @moodmosaic @ecampidoglio @adamchester

์ €๋Š” autofixture์˜ ์‚ฌ์šฉ์ž์ผ ๋ฟ์ด๋ฉฐ ๋ณ€๊ฒฝํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Ploeh ๋ธ”๋กœ๊ทธ์—๋Š” ์œ ์šฉํ•œ ์ •๋ณด๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค :)

์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž์˜ ๊ด€์ ์—์„œ๋Š” ๋‹ค์†Œ ์ดํ•ด๊ฐ€ ๋˜์ง€๋งŒ ์†”์งํžˆ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ€์ ธ์˜ค๊ธฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ IDE์—์„œ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ˆ˜์ž…ํ’ˆ์— ๋ณ„์นญ์„ ๋ถ™์ด์‹ญ์‹œ์˜ค!

_Ploeh_๊ฐ€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ์ผ๋ถ€์ธ ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ, _Ploeh_๋ฅผ ๋ณผ ๋•Œ ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ข‹์€ ๊ฒƒ๊ณผ ์ข‹์€ ํ’ˆ์งˆ์— ๊ด€ํ•œ ๊ฒƒ์ž„์„ ์••๋‹ˆ๋‹ค.

_Ploeh.AutoFixture_๋กœ ์œ ์ง€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ณต๊ฐœ "๋ธŒ๋žœ๋“œ"๋Š” AutoFixture์ด๋‹ค ... ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€๋Š” ๋ณ„๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค.

Json.NET ๊ณผ ๋™์ผํ•˜์ง€

์ฐธ๊ณ : Twitter๋ฅผ ํ†ตํ•ด ์˜๊ฒฌ์„ ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. https://twitter.com/ploeh/status/705721775011848192

(์—ฌ๊ธฐ์— ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ์‘๋‹ต์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  _์ „ํ˜€_ ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. @moodmosaic์ด ์ง€์ ํ–ˆ๋“ฏ์ด _Ploeh_ ์ด๋ฆ„์€ ํ’ˆ์งˆ ๋ฐ ์žฅ์ธ ์ •์‹ ๊ณผ ๊ด€๋ จ์ด ์žˆ์œผ๋ฏ€๋กœ ์ธ์‹ ์ ์œผ๋กœ๋Š” ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ํ”„๋กœ์ ํŠธ์˜ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ํ‘œ์‹œํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์˜ ๋ฟŒ๋ฆฌ์™€ ๋…์ฐฝ์ ์ธ ์•„์ด๋””์–ด๋ฅผ ๊ณ ์•ˆํ•œ ์ €์ž์— ๋Œ€ํ•œ ๊ฒฝ์˜์ž…๋‹ˆ๋‹ค.

@ecampidoglio์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฉ”๋ชจ์—์„œ _ploeh_๋Š” ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

๋˜ํ•œ Json.NET์ด Newtonsoft๋กœ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์ง€์ •๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค! ( :+1: @tsimbalar ์ƒ๊ธฐ์‹œ์ผœ์ฃผ์…”์„œ... )

@ecampidoglio , ์ œ ์š”์ ์€ ํ”„๋กœ์ ํŠธ ์ž์ฒด๊ฐ€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์„œ๋ช…ํ•˜๋Š” ์ž‘์—…์ด ๋ถˆํ•„์š”ํ•ด์ง€๋Š” ์œ ์šฉ์„ฑ๊ณผ ์žฅ์ธ ์ •์‹ ์˜ ์ง€์ ์— ๋„๋‹ฌํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. AutoFixture๋Š” ๊ทธ๊ฒƒ์„ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

@ploeh : "vรฅga" ๋›ฐ์–ด๋“ค์–ด!

๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ OP๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„๊ธฐํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ ‘๋‘์‚ฌ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ๊ฒƒ์„ ๊ฒฐ์ •ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ; Ploeh ์ž์‹ ์ด ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ์„ ํƒํ•œ ๊ฒฝ์šฐ์—๋งŒ
๊ทธ๋ ‡๊ฒŒ ํ•ด. ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ ์™ธ์— ๋‹ค๋ฅธ ์ด์œ ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
์ž์‹ ์˜ (์ž ์žฌ์ ์ธ) ์˜๊ฒฌ๊ณผ ์ผ์น˜ํ•˜์—ฌ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

2016-03-04 18:13 GMT+01:00 Mike Mogosanu [email protected] :

๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ OP๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„๊ธฐํ•˜๊ณ  ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ถˆ์พŒํ•œ ์ ‘๋‘์‚ฌ. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ๊ฒƒ์„ ๊ฒฐ์ •ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/AutoFixture/AutoFixture/issues/538#issuecomment -192362828
.

์ข‹์•„์š”, ๊ทธ ๋งˆ์ง€๋ง‰ ๋ง์€ ๋„ˆ๋ฌด ์–„๋ฐ‰์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค: ์•„๋งˆ๋„ Ploeh๋Š” ๋•Œ๊ฐ€ ์™”๋‹ค๊ณ  ์ƒ๊ฐํ• ๊นŒ์š”?

autofixture์˜ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋– ๋‚  ๊ฒƒ์ด๋‹ค. ๋„ค์ด๋ฐ์˜ '๋…์ฐฝ์„ฑ'์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ๋ž˜์˜ ๋ˆ„๊ตฐ๊ฐ€๋Š” ์—ฌ์ „ํžˆ Foo.AutoFixture๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ MS๊ฐ€ System.AutoFixture๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. :)

ํ”ผ๋“œ๋ฐฑ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด์ œ ์ด ํ† ๋ก ์ด ์ค„์–ด๋“ค์—ˆ์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์™€ ํŠธ์œ— ์—์„œ 'ํˆฌํ‘œ'๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  2๋ช…์ด ์ด ์ œ์•ˆ์— ์ฐฌ์„ฑํ•˜๋Š” ๋ฐ˜๋ฉด 10๋ช…์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ํ˜„์žฌ์™€ ๊ฐ™์ด ์œ ์ง€ํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ช‡ ๊ฐ€์ง€ ์˜๊ฒฌ์€ ํŠน๋ณ„ํ•œ ์„ ํ˜ธ๋„๋ฅผ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์œผ๋ฏ€๋กœ ์ง‘๊ณ„์— ํฌํ•จํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์— ํ•œ ํ‘œ๋ฅผ ํ–‰์‚ฌํ•  ๊ฒƒ์ด๋ฏ€๋กœ ์‹ค์ œ๋กœ ์ด ์ œ์•ˆ์— ๋ฐ˜๋Œ€ํ•˜๋Š” 11ํ‘œ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋น„์šฉ๋ณด๋‹ค ํฐ ๋ณ€ํ™”๋ฅผ ๋งŒ๋“œ๋Š” ์ด์ ์„ ์ฐพ์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ์˜ ์ด์ ์€ ๋‚ด๊ฐ€ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ์ตœ์†Œํ•œ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ง€๊ฐ์— ๋Œ€ํ•œ ์ฃผ์žฅ์„ ์ดํ•ดํ•˜๋ฉฐ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์ด์˜๋ฅผ ์ œ๊ธฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์ „์ ์œผ๋กœ ์ฃผ๊ด€์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ €๋Š” Unquote ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์‚ฌ์šฉ์ž์ด๋ฉฐ Swensen.Unquote ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์กฐ๊ธˆ๋„ ๊ท€์ฐฎ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ๋น„์šฉ๋„ ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ฝ”๋“œ๊ฐ€ ์†์ƒ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ˆ˜์ •์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ๊ฐ€์ ธ์˜ค๊ธฐ ์ง€์‹œ๋ฌธ์—์„œ Ploeh. ๋ฅผ ์‚ญ์ œํ•˜๊ธฐ

๋ณ€๊ฒฝ์˜ ์žฅ๋‹จ์ ์ด ๋ชจ๋‘ ์ž‘๊ธฐ ๋•Œ๋ฌธ์— ์‰ฌ์šด ๊ฒฐ์ •์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—, ๋‚˜๋Š” ์ฃผ์˜ ์ธก๋ฉด์—์„œ ์‹ค์ˆ˜ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ฐฑํ•œ ์ด์œ  ์—†์ด ์‚ฌ์šฉ์ž๋ฅผ ๋ถˆํŽธํ•˜๊ฒŒ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ทธ๋ž˜๋„ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๊ฒฌํ•ด๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ”ผ๋“œ๋ฐฑ์„ ์š”์ฒญํ–ˆ์„ ๋งŒํผ ๊ฐ€๊นŒ์šด ์ „ํ™”์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ํ†ต๊ณ„์ ์œผ๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š์ง€๋งŒ ๋‚ด ์˜๊ฒฌ์„ ๋ฐ”๊พธ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

@bjorn-ali-goransson, ์ด ํ† ๋ก ์„ ์‹œ์ž‘ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ํ† ๋ก ์„ ์‹œ์ž‘ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ˜„์ƒ ์œ ์ง€์— ๋„์ „ํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ๊ธฐ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๊ณ„์† ๊ทธ๋ ‡๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ๊ฒฐ์ •์ด ๋‹น์‹ ์ด ์›ํ•˜๋Š” ๋Œ€๋กœ ๋˜์ง€ ์•Š๋”๋ผ๋„, ๋‚ด๊ฐ€ ๊ณต์ •ํ•œ ์ˆ™๊ณ ๋ฅผ ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„์ฃผ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@ploeh - ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ˜‘๋ ฅ์  ์ ‘๊ทผ ๋ฐฉ์‹์— ๋Œ€ํ•ด ํŠน๋ณ„ํ•œ ์‹œ๊ฐ„์„ ๋‚ด์„œ ๋ฐ•์ˆ˜๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ๋…ผ์˜๊ฐ€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ์ด ํ‹ฐ์ผ“์— ์‚ฌ๋žŒ๋“ค์„ ๋ณด๋‚ธ๋‹ค๊ณ  ํ•ด๋„ ๋†€๋ผ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋‹น์‹ ์˜ ๊ธฐ์ˆ ์€ ๊ธฐ์ˆ ์  ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋…ผ์˜์— ๋Œ€ํ•œ ์ €์˜ ์ฒ ํ•™์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰