Autofixture: NSubstitute๋กœ ๋Œ€๋ฆฌ์ธ์„ ๋Œ€๋ฆฌ์ธ์œผ๋กœ ์ทจ๊ธ‰

์— ๋งŒ๋“  2018๋…„ 04์›” 26์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: AutoFixture/AutoFixture

NSubstitute๋Š” ๋Œ€๋ฆฌ์ž ๋Œ€์ฒด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ NSubstitute ์‚ฌ์šฉ์ž ์ •์˜์™€ ํ•จ๊ป˜ ์กฐ๋ช…๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋Œ€๋ฆฌ์ž๋Š” ๋Œ€์ฒด๋ฌผ๋กœ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ NSubstitute ์–ด์„ค์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

[Test]
public void ActionIsSubstitute()
{
    var fixture = new Fixture().Customize(new AutoNSubstituteCustomization());

    var action = fixture.Create<Action>();

    Assert.That(action.DidNotReceive, Throws.Nothing);
}

์‹คํŒจ:

์˜ˆ์ƒ: ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ
ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.() ๋ฐ ๊ด€๋ จ ๋ฐฉ๋ฒ•.

#984์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

question

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

๋„ค, ๋‹น์‹ ์˜ ๋ฐœ๊ฒฌ์ด ์™„์ „ํžˆ ์˜ณ์•˜์Šต๋‹ˆ๋‹ค :blush:

์–ธ์  ๊ฐ€ ์šฐ๋ฆฌ๋Š” ๋ฉ‹์ง„ ๋ฌธ์„œ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ด๊ณ  ๋‹น์‹ ์€ ๊ทธ๊ณณ์—์„œ ์ด ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค :sweat_smile:

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

๋‚œ ๊ทธ๋ƒฅ ์‹คํ˜„ ์žฌ์‚ฐ GenerateDelegates ์ด๋ฏธ ์กด์žฌ AutoNSubstituteCustomization . true ์„ค์ •ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” AutoFixture๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ ํ›„ ํ™•์ธํ–ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋„ค, ๋‹น์‹ ์˜ ๋ฐœ๊ฒฌ์ด ์™„์ „ํžˆ ์˜ณ์•˜์Šต๋‹ˆ๋‹ค :blush:

์–ธ์  ๊ฐ€ ์šฐ๋ฆฌ๋Š” ๋ฉ‹์ง„ ๋ฌธ์„œ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ด๊ณ  ๋‹น์‹ ์€ ๊ทธ๊ณณ์—์„œ ์ด ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค :sweat_smile:

์–ธ์  ๊ฐ€ ์šฐ๋ฆฌ๋Š” ๋ฉ‹์ง„ ๋ฌธ์„œ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋‹น์‹ ์€ ๊ทธ๊ณณ์—์„œ ์ด ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ๐Ÿ˜…

์ง์žฅ์—์„œ์˜ ์Šคํƒ ๋“œ์—… ๋ฏธํŒ…์˜ ๋‚˜!

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

๊ด€๋ จ ๋ฌธ์ œ

ploeh picture ploeh  ยท  7์ฝ”๋ฉ˜ํŠธ

josh-degraw picture josh-degraw  ยท  4์ฝ”๋ฉ˜ํŠธ

ecampidoglio picture ecampidoglio  ยท  7์ฝ”๋ฉ˜ํŠธ

Ephasme picture Ephasme  ยท  3์ฝ”๋ฉ˜ํŠธ

mjfreelancing picture mjfreelancing  ยท  4์ฝ”๋ฉ˜ํŠธ