Nunit: ๋น„ Windows์—์„œ .NET Core์˜ ๋ฌธํ™” ์ฐจ์ด๋กœ ์ธํ•ด ํ…Œ์ŠคํŠธ ์‹คํŒจ

์— ๋งŒ๋“  2017๋…„ 12์›” 11์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: nunit/nunit

(@nunit/framework-team ์šฐ๋ฆฌ๋Š” 3.10 ์ด์ „์— ์ด๊ฒƒ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด .NET Standard 2.0 ๋นŒ๋“œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.)

์ด๋Ÿฌํ•œ ํ…Œ์ŠคํŠธ๋Š” Windows์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์šด์˜ ์ฒด์ œ์˜ .NET Core๋กœ ์ธํ•ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Mono๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜์—ฌ ๋‹ค๋ฅธ OS์—์„œ .NET Framework DLL์„ ์‚ฌ์šฉํ•˜์—ฌ Windows ๋™์ž‘์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. .NET Core์˜ .NET Standard DLL์€ Mono์˜ .NET Framework DLL๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

https://github.com/dotnet/corefx/issues/11221์— ๋”ฐ๋ฅด๋ฉด ๋‚ ์งœ ํ˜•์‹์€ ์˜๋„์ ์œผ๋กœ OS์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
https://github.com/dotnet/corefx/issues/17052 ๋ฌธ์ž์—ด ๋น„๊ต์— ๋Œ€ํ•ด ๋™์ผํ•œ ๊ฒฐ๋ก ์„ ๋‚ด๋ฆฌ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

  • .NET Core์™€ ๊ฐ™์€ ์ž…์žฅ์„ ์ทจํ•˜๊ณ  Windows์™€ Ubuntu์—์„œ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

  • Mono๊ฐ€ (๋‚ด ์ƒ๊ฐ์—) WINdows ๋™์ž‘์„ ์–ด๋–ป๊ฒŒ๋“  ๋‹ค๋ฅธ OS์— ํด๋ฆฌํ•„(Polyfill)ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ž…์žฅ์„ ์ทจํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ(๋‚ฎ์€ ROI์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ)?

  • ์•„์ง .NET Standard์—์„œ PlatformAttribute ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. 3.10์„ ์œ„ํ•ด ์†์„ ๋–ผ๊ณ  NUnit์˜ ๋ฌธํ™” API๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ํ”Œ๋žซํผ ๊ฐ์ง€ ๋ฐ ๋ฌธํ™” API๋ฅผ ๋ชจ๋‘ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋‚˜์š”?

Failed : NUnit.Framework.Attributes.SetCultureAttributeTests.UseWithParameterizedTest()
  Expected string length 19 but was 17. Strings differ at index 6.
  Expected: "01.06.2010 00:00:00"
  But was:  "01.06.10 00:00:00"
  -----------------^

Failed : NUnit.Framework.Constraints.SubstringConstraintTests.SpecifyComparisonType(" ss ","รŸ",CurrentCulture,True)
  Expected: String containing "รŸ"
  But was:  " ss "

Failed : NUnit.Framework.Constraints.SubstringConstraintTests.SpecifyComparisonType(" ss ","รŸ",CurrentCultureIgnoreCase,True)
  Expected: String containing "รŸ"
  But was:  " ss "

Failed : NUnit.Framework.Constraints.SubstringConstraintTests.SpecifyComparisonType(" SS ","รŸ",CurrentCultureIgnoreCase,True)
  Expected: String containing "รŸ"
  But was:  " SS "

Failed : NUnit.Framework.Constraints.SubstringConstraintTests.SpecifyComparisonType(" ss ","รŸ",InvariantCulture,True)
  Expected: String containing "รŸ"
  But was:  " ss "

Failed : NUnit.Framework.Constraints.SubstringConstraintTests.SpecifyComparisonType(" ss ","รŸ",InvariantCultureIgnoreCase,True)
  Expected: String containing "รŸ"
  But was:  " ss "

Failed : NUnit.Framework.Constraints.SubstringConstraintTests.SpecifyComparisonType(" SS ","รŸ",InvariantCultureIgnoreCase,True)
  Expected: String containing "รŸ"
  But was:  " SS "
done design critical

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

.NET Core์™€ ๊ฐ™์€ ์ž…์žฅ์„ ์ทจํ•˜๊ณ  Windows์™€ Ubuntu์—์„œ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ œ ์ƒ๊ฐ์— ์ด๊ฒƒ์€ NUnit์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

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

1.6์— ์—†๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•„๋„ .NET Core 2.0 ๋นŒ๋“œ๋ฅผ ๋ณด๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ์€ ํ•ฉ๋ฆฌ์ ์ธ ์ž‘์—…์ด๋ฉฐ ์ถ”๊ฐ€๋œ ๊ฐ ๊ธฐ๋Šฅ์€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ PR์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธํ™” ๋ฐ ๋ฌธ์ž์—ด ๋ฌธ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ ๋‘ OS์—์„œ ๋‹ค๋ฅด๋‹ค๋Š” ์ƒ๊ฐ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋Š” ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์˜ˆ์ƒ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.NET Core์™€ ๊ฐ™์€ ์ž…์žฅ์„ ์ทจํ•˜๊ณ  Windows์™€ Ubuntu์—์„œ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ œ ์ƒ๊ฐ์— ์ด๊ฒƒ์€ NUnit์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์•ˆ๋…•,
์ด ๋ฌธ์ œ๋กœ ๊ณ ํ†ต๋ฐ›๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ์†”๋ฃจ์…˜์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/effyteva/Teva.Common.Cultures

์—ฌ๋ณด์„ธ์š”!
์•„๋งˆ๋„ ์ด ์†”๋ฃจ์…˜์€ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค: https://github.com/dotnet/corefx/issues/11221#issuecomment -572932255

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