์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ,
์ ๋ NUnit์ ์ฒ์ ์ฌ์ฉํ๊ณ ํ
์คํธ ํ์๊ธฐ์์ ์ถ๋ ฅ์ ์ฒจ๋ถ ํ์ผ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ด ๊ถ๊ธํฉ๋๋ค.
๋จ์ ํ
์คํธ์๋ ์ด๋ฅผ ์ํํ ์ ์๋ AddResultFile์ ํธ์ถํ๋ TestContext ํด๋์ค์ ๋ฉ์๋๊ฐ ์์ต๋๋ค.
๋๋ฅผ ๋์ธ ์ ์๋ ์ฌ๋์ด ์์ต๋๊น?
๊ฐ์ฌ ํด์,
์ฅ
์ธ๊ธํ ๋ฐฉ๋ฒ์ Microsoft ํ ์คํธ ํ๋ ์์ํฌ์ TestContext ํด๋์ค์ ์ผ๋ถ์ ๋๋ค. NUnit์๋ ๊ฐ์ ์ด๋ฆ์ ํด๋์ค๊ฐ ์์ง๋ง MsTest ํด๋์ค์ ๊ด๋ จ์ด ์์ผ๋ฉฐ ์ด๋ฌํ ๋ฉ์๋๊ฐ ์์ต๋๋ค. NUnit์๋ ์ถ๋ ฅ์ ํ์ผ์ ์ฒจ๋ถํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
์ฐฐ๋ฆฌ ๊ฐ์ฌํฉ๋๋ค.
๊ทธ๋ฌ๋ AddResultFile ๋ฉ์๋๋ ๋ฏธ๋์ NUnit์ ์ถ๊ฐ๋ฉ๋๊น?
์ด ๋ฐฉ๋ฒ์ ์ ๋ง ๋์์ด ๋ฉ๋๋ค.
ํ์ฌ๋ก์๋ ๊ณํ์ด ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ๊ทธ๋ฌํ ๊ธฐ๋ฅ์ ๋ํ ์์ฒญ์ผ๋ก ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ๊ทธ๋ ๊ฒ ํ๊ณ ๋ค์ ์ด ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ์๋ํ๋์ง ์์ธํ ์ค๋ช ํด์ผ ํฉ๋๋ค. ํ์ผ์ ์ด๋ป๊ฒ ์์ฑ๋๊ณ ์ด๋์ ์ ์ฅ๋๋์ง ๋ฑ์ ๋๋ค. NUnit์ด ์ค์ ๋ก ํ์ผ์ ์์ฑํ๊ฑฐ๋ ๋จ์ํ ํ์ผ์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์งํ๋๋ก ์์ฒญํ๊ณ ์์ต๋๊น?
๋ฌผ๋ก ์ฐ๋ฆฌ๋ ์์ด๋์ด๋ฅผ ๋ฐ์๋ค์ด๊ณ ์ฐ์ ์์๋ฅผ ์ ํ๊ณ ์ถ์ ์ผ์ ์ ์ก์์ผ ํ์ต๋๋ค.
Charlie๋ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.
๊ทธ ๋ฐฉ๋ฒ์ด NUnit์ ์ถ๊ฐ๋๋ฉด ์ข์ ๊ฒ์
๋๋ค.
Microsoft์ ํ
์คํธ ํ๋ ์์ํฌ์ ์๋ TestContext ํด๋์ค์ AddResultFile ๋ฉ์๋์ฒ๋ผ ์๋ํฉ๋๋ค.
ํ
์คํธ ๊ฒฐ๊ณผ(ํ์ผ html ํ
์คํธ ๊ฒฐ๊ณผ ๋๋ ์คํฌ๋ฆฐ์ท)๋ฅผ VS์ ํ
์คํธ ํ์๊ธฐ์ ์๋ ํ
์คํธ ์ถ๋ ฅ์ ์ฐ๊ฒฐํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์
๋๋ค. ์๋์ ๊ฐ์ด ์คํฌ๋ฆฐ์ท์ ๋ณผ ์ ์์ต๋๋ค.
์์ด๋์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ค์ ์ด๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ ๋์๊ฐ๋ ค๋ฉด ์ด๋ํฐ๋ฟ๋ง ์๋๋ผ NUnit ์์ฒด์์ ์๋ํ๋ ๋ฐฉ์์ ํ์ ํด์ผ ํฉ๋๋ค. ์ ๋ ์ด๊ฒ์ ์์ด๋์ด๋ก ํ์ํ๊ณ ์์ต๋๋ค. ์ด๋ ๋ฏธ๋์ ๊ธฐ๋ฅ์ผ๋ก ๊ฐ์ฃผํ๊ธฐ์ ์ถฉ๋ถํ ์ ์๋์ง ์์ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ๋ถ๋ฅด๋ ๊ฒ์ ๋๋ค. ์๋ง๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ ์์ ํ ๊ฒ์ ๋๋ค.
๊ณ ๋ คํด์ผ ํ ์ฌํญ:
์ด ๊ธฐ๋ฅ์ ๋ฐ๋์ ์์ด์ผ ํฉ๋๋ค.
NUnit ๋ฐ Selenium์ ์ฌ์ฉํ์ฌ ์๋ํ๋ ๋์ ํ
์คํธ๋ฅผ ์คํํ๊ณ ์์ต๋๋ค. ํ
์คํธ๊ฐ ์คํจํ๋ฉด ํ
์คํธ ๊ฒฐ๊ณผ์ ๋ธ๋ผ์ฐ์ ์ ์คํฌ๋ฆฐ์ท์ ์ฒจ๋ถํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ์ด๊ฒ์ ํ
์คํธ๋ฅผ ์์ ํ๋ ๋ฐ ํฐ ๋์์ด ๋ฉ๋๋ค.
์ด๋ฅผ ์ํด Microsoft์ ํ
์คํธ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด์ผ ํ์ง๋ง NUnit(์ด์
๋ธ๋ฆฌ ๋๋ ํด๋์ค ์์ค์ ์์ฑ, ์ผ๋ฐ ํ
์คํธ ํด๋์ค...)๋ณด๋ค ๊ฐ๋ ฅํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ NUnit์์ ์ด ๊ธฐ๋ฅ์ ๊ธฐ๋ํฉ๋๋ค.
์์ด๋์ด๋ณด๋ค ํ๊ณ ํ ๋์์ธ์ด ํ์ํ ๊ธฐ๋ฅ์ผ๋ก ๋ฐ๊พธ๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ด์ ์๊ฒฌ์ ๋์ด๋ ์ง๋ฌธ์ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด xml์์ ํ์ผ์ ์ง๋ ฌํํ๊ฑฐ๋ ๊ทธ ์ธ์ ์ฐธ์กฐ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์งํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ๋๋ ๋ฐฉ๋ํ xml, ์ผ๋ฐ์ ์ธ ์๋ ์ ํ ๋ฐ ํน์ ์ธํฐํ๋ฆฌํฐ๊ฐ ํ์ํ ํ์ผ๋ก ์ด์ด์ง๋ฉฐ, ๋ค๋ฅธ ํ๋๋ ํ์ผ์ด ๊ฒฐ๊ณผ์์ ๋ถ๋ฆฌ๋๊ณ ์ฐธ์กฐ๊ฐ ์์๋ ๊ฐ๋ฅ์ฑ์ผ๋ก ์ด์ด์ง๋๋ค.
์ด๋ ๊ฒ์ด ๋ ์์ ์ ์ ๋๊น? ์ ์์ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฒ์ ํจํค์ง๋ก ์ ์งํ๋ ๊ฒ์ ์ด์ ๋ณด๋ค ๊ณ ํต์ด ๋ ํด ๊ฒ์ด๋ฉฐ 'ํฌ๋ง์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ' ์๋ ๋งํฌ๊ฐ ์์ผ๋ฉด ์ถฉ๋ถํ ๊ฒ์ ๋๋ค.
- NUnit ์ฝ์์ ๋ฌด์์ ํ ์ ์์ต๋๊น?
- NUnit GUI๊ฐ ์ด๋ค ์์ผ๋ก๋ ํ์ํ ๊น์?
GUI์ ๊ฒฝ์ฐ ์์ ์ธํฐํ์ด์ค์ ๊ฐ์ ๊ฒ์ด ์ฒจ๋ถ ํ์ผ์ ๋ํ ํ์ดํผ๋งํฌ๋ง ์์ผ๋ฉด ์ถฉ๋ถํด ๋ณด์ ๋๋ค. ์ฝ์ imo๋ ์คํจํ ํ ์คํธ ๋ฉ์์ง์์ ์ฌ์ฉ์์๊ฒ ํ์ผ์ ์ฌ์ฉํ ์ ์๊ณ ํ์ผ์ ์์น๋ฅผ โโ์๋ ค์ผ ํฉ๋๋ค.
๋์์ธ์ด ์์ฑ ๋๋ฉด ๋๊ตฐ๊ฐ PR์ ์ ์ถํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
MSTest๊ฐ ํ์ผ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ด์ผ ํฉ๋๋ค. Visual Studio ํ์ฅ์๋ ๋๋ผ์ด๋ธ์ ํ์ผ์ ๋ํ ๋งํฌ๊ฐ ํ์ํฉ๋๋ค.
XML์ ์ฐธ์กฐ๊ฐ ๊ฐ์ผ ํ ๊ธธ์ธ ๊ฒ ๊ฐ์ต๋๋ค. NUnit์ ๊ฒฝ์ฐ ๋ ผ๋ฆฌ์ ์ด๊ธฐ ์์น๋ XML์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ํ๋ ์์ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ๊ทธ๊ฒ์ ์์ ์ฒ์ ๋ ๊ฐ์ง ์ฌํญ์ ํด๊ฒฐํฉ๋๋ค.
๋ด ๋ค๋ฅธ ์์ ์ ๋๋ตํ๊ธฐ:
์ ์์ ์ธ ์ฐ์ ์์๋ก ์ฌ๋ฆฌ๋ ์ชฝ์ผ๋ก ๊ธฐ์ธ๊ณ ์ถ์ ์ข์ ๊ธฐ๋ฅ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
@rprouse Gallio๊ฐ ์ฒจ๋ถ ํ์ผ์ ์ฒ๋ฆฌํ ๋ฐฉ๋ฒ์ ๊ธฐ์ตํ์ญ๋๊น?
์ดํ์น๋จผํธ ์์๋ ์์ฑ ๋ฐ ์์ ์ธก๋ฉด์์ ๋ฌด์์ ํฌํจํด์ผ ํฉ๋๊น? ์ด ๊ฐ์?
<attachments>
<attachment description="Final screen shot">ScreenShot.jpg</attachment>
...
</attachments>
๋๋ ๊ทธ๊ฒ์ด ๊ทธ๊ฒ์ ์์ฐํ ํ ์คํธ์ ์์์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ ์์ผ๋ฏ๋ก ์ฐ๋ฆฌ๋ ๊ทธ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฌ์ฉ์๋ ์ฌ๋ฌ ์คํฌ๋ฆฐ์ท์ ํฌํจํ ์ ์์ผ๋ฏ๋ก ์ค๋ช ์ด ํ์ํฉ๋๋ค. ๋ค๋ฅธ ๊ฑด ์๋์?
๋ฌด์ธ๊ฐ๋ฅผ ์ฒจ๋ถํ๋ ๊ตฌ๋ฌธ์ ๋ฌด์์ ๋๊น? TestContext๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๊น? ์ฒจ๋ถ ํ์ผ์ด ์คํจ ์ ์๋์ผ๋ก ์์ฑ๋๋๋ก ์ด์ค์ ๊ณผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ์์ด์ผ ํฉ๋๊น?
๋๊ตฐ๊ฐ ์ด๊ฒ์ ๋ํ ์ฌ์์ ์์ฑํ๊ณ ์ถ์ต๋๊น?
์ ์์ ์ธ ์ฐ์ ์์๋ก ์ฌ๋ฆฌ๋ ์ชฝ์ผ๋ก ๊ธฐ์ธ๊ณ ์ถ์ ์ข์ ๊ธฐ๋ฅ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๐
@rprouse Gallio๊ฐ ์ฒจ๋ถ ํ์ผ์ ์ฒ๋ฆฌํ ๋ฐฉ๋ฒ์ ๊ธฐ์ตํ์ญ๋๊น?
์๋์, ์ฒจ๋ถ ํ์ผ์ ์ฌ์ฉํ ์ ์ด ์์ต๋๋ค. ๋๋ ๋น์ ์ XML ํ์์ ์ข์ํฉ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก TestContext๊ฐ ๋ ๊ฐ๋จํ ๊ฒฝ๋ก์ด๋ฏ๋ก ์ฒจ๋ถ ํ์ผ์ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก ์์ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฅผ Asserts๋ก ํ์ฅํ ์ง ์ฌ๋ถ๋ฅผ ํ๊ฐํ ์ ์์ต๋๋ค.
๊ทธ๋์ TestContext.CurrentContext.AddAttachment
?
(string path)
๋ฐ (string path, string description)
๋ํ ์ค๋ฒ๋ก๋๊ฐ ์์ต๋๊น?
์ด์ฉ๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ฌ์์ ๊ฐ์ง๊ณ ์์ต๋๋ค!
์ด ๊ธฐ๋ฅ์ ์ฐ์ ์์๋ฅผ ๋์ฌ์ฃผ์ธ์. ํ
์คํธ ๊ฒฐ๊ณผ ์์ฝ์ UI ์คํฌ๋ฆฐ์ท์ ์ฒจ๋ถํ๋ฉด ๋งค์ฐ ์ ์ฉํ ๊ฒ์
๋๋ค. VSTS(Visual Studio Team Services) ๋ด์ ๋น๋ ๊ฒฐ๊ณผ์์ ์ด๋ฌํ ์ฒจ๋ถ ํ์ผ์ ์ฌ์ฉํ ์ ์์ต๋๊น?
์ ๋ง ๊ฐ์ฌํฉ๋๋ค ์ฐฐ๋ฆฌ
์ข์ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํ๋ฉฐ TeamCity์์ ์ฒจ๋ถ ํ์ผ์ ๋น๋ ์ํฐํฉํธ๋ก ๊ฒ์ํ๊ฒ ์ต๋๋ค.
@rprouse ๊ฐ ์ด๋ฏธ ์ ์ํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ ์ฐ์ ์์๋ก
์๋ฌด๋ ์ด๊ฒ์ ์์ง ์์์ผ๋ฉด ํฉ๋๋ค. ๋งค์ฐ ์ ์ฉํ ๊ธฐ๋ฅ์ด ๋ ๊ฒ์ ๋๋ค.
์ด์ ๋๊ธ์ด ๋ชจ๋ ๋์์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ์๊ฐํ๋ฏ๋ก ๋์์ธ ๋ ์ด๋ธ์ ์ ๊ฑฐํ๊ณ ๊ตฌํ ๋ฌธ์ ๋ฅผ ๋ฐฑ๋ก๊ทธ์ ์ถ๊ฐํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๋ง์ ์ผ๋ค์ด ์ผ์ด๋๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์์ด๋ฒ๋ฆฐ ๊ฒ์ด ์๋๋๋ค. ์ด์ ์๊ฒฌ์์ ์ธ๊ธํ๋ฏ์ด ์ด์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์ฐ์ ์์ ํญ๋ชฉ์ ๋ฆด๋ฆฌ์ค ๊ณํ์ ์ผ๋ถ๋ก ์์ ๋์ด ์์ง ์์ต๋๋ค. ์ด๋ค ํ์์ด๋ ์ธ๋ถ ๊ธฐ์ฌ์๊ฐ ๊ทธ ์ผ์ ๋งก์ ๋งํผ ์ถฉ๋ถํ ๊ด์ฌ์ ๊ฐ๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ๊ฑด๋, ๊ทธ๊ฒ์ ๋ฐฑ๋ก๊ทธ์ ์ถ๊ฐํ๋ฉด ๋๊ตฐ๊ฐ๊ฐ ํ ๊ฑธ์ ๋ ๋์๊ฐ๋๋ก ๋๊ธฐ๋ฅผ ๋ถ์ฌํ ์ ์์ต๋๋ค. ๋น์ ์ ๋ฅ๋ ฅ์ ๋ฐ๋ผ ๋น์ ์ด ๋ ์ ์์ต๋๋ค! ๐
ํ๋ฅญํ ๊ธฐ๋ฅ! ๋๋จํ ๊ฐ์ฌํฉ๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ๊ณง ๊ตฌํํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ๐
#2152์์ ์ด๊ฒ์ ๊ตฌํํ๋ ๋ฐ ํ์ํ ํ๋ ์์ํฌ ๊ธฐ๋ฅ์ ๋ํ PR์ ์ํํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ถ์ ํ๋ ์ฌ๋์ด ๋ช ๋ช ์๋ค๋ ์ ์ ๊ฐ์ํ ๋, ์ ๋ ์ด ๋ฌธ์ ๋ฅผ Epic์ผ๋ก ์ ํํ๊ณ ์ฌ๊ธฐ์ ๋ฌด์์ ํ ์ง ๊ฒฐ์ ํ๋ ๋๋ก ๋ฌ๋ ์ง์์ ์ถ์ ํ ๊ณํ์ ๋๋ค.
์ ์๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
VS ์ด๋ํฐ
์ด๊ฒ์ MSTest์ ์๋ ๊ธฐ๋ฅ์ด๋ฏ๋ก VS ์ด๋ํฐ ํ๋ ์์ํฌ์๋ ์ด๋ฏธ ์ฒจ๋ถ ํ์ผ์ ํ์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ถ์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๐
์ฝ์/NUnitLite
๋๋ ์ฌ๊ธฐ์์ ์๊ฐ์ด ์๊ฐ๋ฆฐ๋ค. ์ค๋ฅ/๊ฒฝ๊ณ ํ
์คํธ์์๋ ์ฒจ๋ถ ํ์ผ์ ํ์ผ ๊ฒฝ๋ก/์ค๋ช
์ ๊ฒฐ๊ณผ์ ํจ๊ป ํ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํต๊ณผ๋ ํ
์คํธ์ ๋ํ ์ฒจ๋ถ ํ์ผ์ ์ด๋ป์ต๋๊น? ์ด๋ฅผ ํ์ํ๊ธฐ ์ํด '์ ๋ณด' ์ถ๋ ฅ์ด ์์ด์ผ ํฉ๋๊น? ๋ฐ๋ผ์ ์ฝ์ ์คํ์๋ ์ ๋ณด/๊ฒฝ๊ณ /์ค๋ฅ์ ์ธ ๊ฐ์ง ์ ํ์ ์ถ๋ ฅ์ ๊ฐ๊ฒ ๋ฉ๋๋ค.
GUI/์๋ง๋ฆฐ
์ด ๋ ๊ฐ์ง ๋ชจ๋ ๊ฒฐ๊ตญ์๋ ์ด๋ฅผ ์ง์ํด์ผ ํ์ง๋ง ์ฐ์ ์์๊ฐ ๋์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ๋ง๋ค์ง๋ง ์ด ์ํฝ์ ์ฒจ๋ถํ์ง๋ ์์ต๋๋ค. ์์/์๊ฐ์ด ํ๋ฝํ ๋ ํ ์ ์์ต๋๋ค.
ํ์ํฐ
@NikolayPianikov - ๋น์ ์ ๋น์ ์ด ์ด๊ฒ์ ๊ด์ฌ์ด ์๋ค๊ณ ๋งํ์ต๋๋ค. #2152๋ฅผ ์ถ์ ํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๐
์์ ๋ชจ๋ ๊ฒ์ ๋ํ ์๊ฐ? @nunit/framework-team ? ๋ค์ ๋จ๊ณ๊ฐ ๊ฒฐ์ ๋๋ฉด ๊ฐ๋ณ ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค.
@ChrisMaddock ๋ฌธ์ ๋ ๋์์ธ ๋ฌธ์ ์ผ ์๋ ์์ผ๋ฏ๋ก "gui์์ ์ฒจ๋ถ ํ์ผ์ ์ง์ํ๋ ๋ฐฉ๋ฒ ํ์ "์ด๋ผ๋ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ํ์คํ์ง ์์ ๋ค๋ฅธ ๋ฌธ์ ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์ฝ์ ๋ฌ๋์ ๊ฒฝ์ฐ ํ์ฌ ๋ชจ๋ ํ ์คํธ๋ฅผ ํ์ํ์ง๋ ์์ง๋ง ์๋ฃํ ์๋ ์์ต๋๋ค. ๋ชจ๋ ์ธ๋ถ ๋ณด๊ณ ์๋ ํ์ฅ ๋๋ ์ฌ์ฉ์ ์ง์ XSL ๋ณํ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ํ์๋ XSL ์ฝ๋ฉ์ ํ๊ณ ์ ํ๋ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค. ๐ ๊ธฐ์ฌํ ๋ณํ์ผ ์ ์์ต๋๋ค.
NUnitLite๋ ๋งค์ฐ ๊ฐ๋ณ๊ฒ ์ ์งํ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๊น๋ค๋กญ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ ์ง๋ฅ์ ์ธ ๋ฐฉ์์ผ๋ก ์ฒจ๋ถ ํ์ผ์ ์ด๋ฆ์ ์ง์ ํ๊ณ ๋ชจ๋ ๋์ผํ ๋๋ ํ ๋ฆฌ์ ์ ์ฅํ๋ฏ๋ก ์ฐพ๊ธฐ๊ฐ ์ถฉ๋ถํ ์ฌ์์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ฌ์ค, ๊ทธ๊ฒ์ ์ฝ์ ๋ฌ๋์๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ํฉ๋๋ค.
gui์ ๋ํ ์์ฐ์ค๋ฌ์ด ๊ฒ์ ํ
์คํธ ๊ฒฐ๊ณผ์ ๋ํ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๊ณผ ํจ๊ป ์ฒจ๋ถ ํ์ผ์ ์ด๋ฆ๊ณผ ์ค๋ช
์ ํ์ํ๋ ๊ฒ์
๋๋ค. ์ฌ์ฉ์๊ฐ ํ์ผ์ ์ด ์ ์๋ ์ ์ ํ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ค์น๋์ด ์๋ ๊ฒฝ์ฐ ๋งํฌ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ฒจ๋ถ ํ์ผ์ด ์์ผ๋ฉด ์ด๋ํฐ์์ Visual Studio๋ก ์ ๋ฌํ๋ ๊ฒฐ๊ณผ์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋งค์ฐ ์ฝ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด https://github.com/nunit/docs/issues/197 ๋ฐ https://github.com/nunit/nunit3-vs-adapter/issues/332 ๋ฅผ ๋ง๋ค์์ต๋๋ค.
๋ฌ๋ ์ง์๊ณผ ๊ด๋ จํ์ฌ - ์ด์ ๋ํ ์ ์ผํ ํ์ฌ ์์ฒญ์ด VS ์ด๋ํฐ์์ ํตํฉ์ธ ๊ฒฝ์ฐ ํ์ฌ๋ก์๋ ๊ฑฐ๊ธฐ์์ ๊ตฌํํ๋ ค๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ์ด๊ฒ์ ๊ทธ๋ํฝ ๋ฌ๋์ ๋ ์ ๋ง๋ ๊ธฐ๋ฅ์ด๋ฉฐ cli ๋ฐ ๊ธฐํ ๋ฌ๋ ์ง์์ ์ฌ๋๋ค์ด ํ์๋ก ํ๋ ๊ฒฝ์ฐ ํญ์ ์ถ๊ฐ๋ ์ ์์ต๋๋ค.
@ChrisMaddock ์ฝ์ ๋ฌ๋์ ์ฒจ๋ถ ํ์ผ ์ง์์ ๋ณด๊ณ ์ถ์ต๋๋ค.
@kdubau - ์๋ฒฝํ ํ์ด๋ฐ! ๐ ๊ทธ๋ ๋ค๋ฉด ์ด๋ค ๋ชจ์ต์ ํ๊ณ ์ถ๋์? ๊ทํ์ ์ฌ์ฉ ์ฌ๋ก๋ ๋ฌด์์ ๋๊น?
ํ ์คํธ ์คํจ/๊ฒฝ๊ณ , ์ค๋ช ๋ฐ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋์ดํ๊ธฐ ์ํด '์ฒจ๋ถ ํ์ผ' ํ ์คํธ ๋ธ๋ก์ ์ถ๊ฐํ๋ ๊ฒ์ ์์ํ ์ ์์ต๋๋ค. ๋ด๊ฐ ์ด๊ฒ์ ํ์ง ์๋ ๊ฒ์ ๋ํด ํ ๋ก ํ ํ ๊ฐ์ง ์ด์ ๋ ๋ง์ ์ฌ์ฉ์๊ฐ ํด๋น ํ์ผ์ ์ฐพ๊ธฐ ์ํด ์์์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ์ํ ๊ฒ์ด๋ผ๊ณ ํ์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋์ํ์ง ์์ผ์๊ฒ ์ต๋๊น?
๊ณ ๋ คํด์ผ ํ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ฝ์์ด ํ์ฌ ๋ชจ๋ ํ ์คํธ๊ฐ ์๋ ์คํจํ/๊ฒฝ๊ณ ๋ ํ ์คํธ๋ง ํ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ฒจ๋ถ ํ ์คํธ๋ฅผ ํต๊ณผํ ๋ชจ๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๋ ์ธ ๋ฒ์งธ ๊ฒฐ๊ณผ ๋ชฉ๋ก('์ ๋ณด'?)์ ๋ง๋ค์ด์ผ ํฉ๋๊น?
์ฝ์ ๋ฌ๋๊ฐ ์คํจํ ํ ์คํธ์ ๋ํ ์ฒจ๋ถ ํ์ผ๋ง ํ์ํ๋ ๊ฒ์ด ์ค์ ๋ก๋ ๊ด์ฐฎ์ ์๋ ์์ต๋๋ค. ์ฝ์ ์คํ์์ ํฅ๋ฏธ๋ก์ด ๊ฒ์ ์ด๊ฒ์ด ์ ๋ถ์ผ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ ์ฌ๊ธฐ์ ์คํจ์ ๋ํ ๊ด๋ จ ๋ก๊ทธ ํ์ผ์ ์์ํ๊ณ ์์ต๋๋ค.
@kdubau ์ฌ๊ธฐ์์ ์ค๋ช ํ๊ธฐ ๋ณด๋ค๋ nunit-console repo์์ ์ ๋ฌธ์ ๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
@ChrisMaddock @CharliePoole ์ฌ๊ธฐ์ ๋งฅ๋ฝ์ ์๋ชป ์ดํดํ์ ์ ์์ต๋๋ค. ์ถ๋ ฅ XML์์ ์ฒจ๋ถ ํ์ผ์ ์ฐธ์กฐํ๋ ๋ฐ๋ง ๊ด์ฌ์ด ์์ต๋๋ค. ์ค์ ๋ก ์ฝ์ ์ถ๋ ฅ์ ์ฒจ๋ถ ํ์ผ ์ ๋ณด๋ฅผ ํ์ํ ํ์๋ ์์ต๋๋ค. ๋ด ์ฌ์ฉ ์ฌ๋ก๋ ๋ด CI ์์คํ (Visual Studio Team Services)์ด XML์ ๋์ด๋ ์ฒจ๋ถ ํ์ผ์ ๋น๋ ์ํฐํฉํธ๋ก ์ ๋ก๋ํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค(๋ฐ๋ผ์ ๋ก์ปฌ ๋์คํฌ์ ํ์ผ์ ๋ํ ์ฐธ์กฐ๋ง ํ์ํจ).
์ฝ์ ๋ฌ๋๋ฅผ ํตํด ํ ์คํธ๋ฅผ ์คํํ๋ฉด XML์ ์ฒจ๋ถ ํ์ผ์ด ์์๊น ๊ฑฑ์ ํ์ง๋ง ๋ ์ฝ์ด๋ณด๋ ์ด๊ฒ์ด ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ๋ฆฌ๋ฉด ์ง์ ํด์ฃผ์ธ์ :)
@kdubau - ๋ง์ต๋๋ค. ๐ #2152๊ฐ ๋ฐฉ๊ธ ๋ณํฉ๋์ด ๊ฒฐ๊ณผ xml์ ์ฒจ๋ถ ํ์ผ์ ์ง์ํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ๊ณํ๋๋ก ์งํ๋๋ค๋ฉด ๋ค์ ์ฃผ์ ์ถ์๋๋ NUnit 3.7์ ์ผ๋ถ๊ฐ ๋ ๊ฒ์ ๋๋ค.
๋ง์ต๋๋ค... ์ฝ์์์ "์ง์"์ด ํ์ํ๋ค๋ฉด ํ๋ ์์ํฌ์์ ๊ฐ์ ธ์จ XML์ ๋จ์ํ ์ ์ฅํ๋ ๊ฒ ์ด์์ ์์ ์ ์ํํด์ผ ํฉ๋๋ค. nunit3 ์ด๋ํฐ์ ๊ฒฝ์ฐ @ChrisMaddock ์ด ์ด๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋ฅผ ์ ์ํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ด ์์ ์ด ์๋ฃ๋์๊ฑฐ๋ ๋ ๋ณด๋ฅ ์ค์ ๋๊น? ๊ณต๊ฐ๋ ๋ฌธ์ ๋ ๊ด๋ จ PR์ ์ฐพ์ ์ ์์์ต๋๋ค.
๋๋ฝ๋ ๊ฒ์ด ์์ง๋ง ํ
์คํธ ์ฒจ๋ถ ํ์ผ์ด ์์๋๋ก VS ํ
์คํธ ํ์๊ธฐ์ ํ์๋์ง ์๋ ๊ฒฝ์ฐ ์ฌ๊ณผ๋๋ฆฝ๋๋ค. NuGet์ NUnit3TestAdapter 3.8.0๊ณผ API TestContext.AddTestAttachement(file)
์์ง๋ง ํ
์คํธ ํ์๊ธฐ์ ์ฒจ๋ถ ํ์ผ์ด ํ์๋์ง ์์ต๋๋ค. ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค.
๋ด ์์์ด ์๋ชป๋ ๊ฑด๊ฐ์?
@kdubau - ์๋์, ์ด๊ฒ์ NUnit v3.7 ๋ฐ NUnit3TestAdapter 3.8์์ ์ถ์๋์ด์ผ ํฉ๋๋ค. ๊ตฌํ์ ๋ํด์๋ https://github.com/nunit/nunit3-vs-adapter/issues/332 ๋ฅผ ์ฐธ์กฐ
์๋ํ์ง ์์ผ๋ฉด ๋จผ์ NUnit ์ฝ์์์ ํ ์คํธ๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ xml ํ์ผ์ ์ฒจ๋ถ ํ์ผ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ธฐ๋ก๋์๋์ง ํ์ธํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ฌธ์ ๋ฅผ ์ด๊ณ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ด๋ํฐ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ฌธ์ ๋ฅผ ์ฝ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ ์กฐ์ฌํ ์ ์์ต๋๋ค. ๐
@ChrisMaddock ์ข์, ๋ฌธ์ ์์ฑ https://github.com/nunit/nunit3-vs-adapter/issues/373
@kdubau ์ ๋๊ธฐ ๋ถ์ฌ ๋๋ถ์ ๋ง์นจ๋ด ์ด ๊ธฐ๋ฅ์ ๋ฌธ์ํํ์ผ๋ฉฐ ์ด Epic์ ๋ซ์ ์ ์์ต๋๋ค. ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๊ธฐ๋ฅ์ ๋ฐ๋์ ์์ด์ผ ํฉ๋๋ค.
NUnit ๋ฐ Selenium์ ์ฌ์ฉํ์ฌ ์๋ํ๋ ๋์ ํ ์คํธ๋ฅผ ์คํํ๊ณ ์์ต๋๋ค. ํ ์คํธ๊ฐ ์คํจํ๋ฉด ํ ์คํธ ๊ฒฐ๊ณผ์ ๋ธ๋ผ์ฐ์ ์ ์คํฌ๋ฆฐ์ท์ ์ฒจ๋ถํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ์ด๊ฒ์ ํ ์คํธ๋ฅผ ์์ ํ๋ ๋ฐ ํฐ ๋์์ด ๋ฉ๋๋ค.
์ด๋ฅผ ์ํด Microsoft์ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด์ผ ํ์ง๋ง NUnit(์ด์ ๋ธ๋ฆฌ ๋๋ ํด๋์ค ์์ค์ ์์ฑ, ์ผ๋ฐ ํ ์คํธ ํด๋์ค...)๋ณด๋ค ๊ฐ๋ ฅํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ NUnit์์ ์ด ๊ธฐ๋ฅ์ ๊ธฐ๋ํฉ๋๋ค.