SpecFlow๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, ํ ์คํธ๋ฅผ ์คํํ๊ธฐ ์ํด TFS๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ง์ ๊ธฐ์ฌ๊ฐ ์ธํฐ๋ท์ ์์ง๋ง ๋ชจ๋ ์ธก๋ฉด์ ํฌํจํ๋ ๊ธฐ์ฌ๋ ์์ต๋๋ค. ์ด ๊ธฐ์ฌ์์๋ SpecFlow ์คํฌ๋ฆฝํธ๋ฅผ ๋ชจ๋ ์ฌ๋์ด ํธ๋ฆฌํ๊ฒ ์์ํ๊ณ ํธ์งํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์ปท ์๋์์๋ ๋ค์์ ์ป๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
- TFS์์ ํ ์คํธ ์คํ
- TFS์ ํ ์คํธ ์ผ์ด์ค์ ์คํฌ๋ฆฝํธ ์๋ ์ฐ๊ฒฐ
- TFS์ ํ ์คํธ ์ฌ๋ก์ ๋ํ ํญ์ ์ต์ ์ฝํ ์ธ
- ํ
์คํฐ๊ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์์ ์ง์ ์คํฌ๋ฆฝํธ๋ฅผ ํธ์งํ๋ ๊ธฐ๋ฅ
์ ์ฌ ์๋
์ฐ๋ฆฌ๋ BDD ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ๋ฅผ ์๋ํํ๋ ์์ ์ ์ง๋ฉดํ์ต๋๋ค. ์ฐ๋ฆฌ ํ์ฌ ์์ ์ถ์ ์์คํ ์ ๊ธฐ๋ณธ์ด TFS์ด๊ธฐ ๋๋ฌธ์ SpecFlow ์คํฌ๋ฆฝํธ์ ๋จ๊ณ๊ฐ TFS์ ํ ์คํธ ์ฌ๋ก ๋จ๊ณ์ด๊ณ ํ ์คํธ ๊ณํ์์ ํ ์คํธ๊ฐ ์์๋๋ ๊ทธ๋ฆผ์ด ๋จธ๋ฆฟ์์ ๋ ์ฌ๋์ต๋๋ค. ์๋๋ ์ ๊ฐ ๊ตฌํํ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฐ๋ฆฌ์๊ฒ ํ์ํ ๊ฒ:
- SpecFlow์ ๋ํ ํ ์คํธ๊ฐ ํฌํจ๋ ํ๋ก์ ํธ
- Azure DevOps ์๋ฒ(Team Foundation Server๋ผ๊ณ ๋ ํจ)
- SpecFlow ์คํฌ๋ฆฝํธ๋ฅผ TFS์ ํ ์คํธ ์ผ์ด์ค์ ๋๊ธฐํํ๊ธฐ ์ํ ๋๊ตฌ
์กฐ์
1. ํ ์คํธ๋ฅผ ํตํด ํ๋ก์ ํธ ๋น๋ ๋ง๋ค๊ธฐ
์ฌ๊ธฐ์์๋ ์ ๋ฌผ์ ์กฐ๋ฆฝํ๊ณ ์ถํํ๋ ๋ฑ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋จํฉ๋๋ค. ์ธ ๋ฒ์งธ ์์ ์ ๋ํด์๋ ๋์ค์ ์์ธํ ์ค๋ช ํฉ๋๋ค.
2. ํ ์คํธ ์คํ์ ์ํ ๋ฆด๋ฆฌ์ค ์์ฑ
ํ๋์ ์์ ์ผ๋ก ๋ฆด๋ฆฌ์ค ๋ง๋ค๊ธฐ - Visual Studio Test
์ด ๊ฒฝ์ฐ ์์ ์ ํ ์คํธ ๊ณํ์์ ์๋์ผ๋ก ํ ์คํธ๋ฅผ ์คํํ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
3. ํ ์คํธ ์ผ์ด์ค ๋๊ธฐํ
Visual Studio๋ฅผ ์ฌ์ฉํ๋ฉด ํ
์คํธ ๋ฉ์๋๋ฅผ TFS์ ํ
์คํธ ์ฌ๋ก์ ์ฐ๊ฒฐํ๊ณ ํ
์คํธ ๊ณํ์์ ์คํํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ด ์์
์ ์๋์ผ๋ก ์ํํ์ง ์๊ณ ์คํฌ๋ฆฝํธ ๋ด์ฉ์ ๋๊ธฐํํ๊ธฐ ์ํด ๊ฐ๋จํ ์ฝ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํ์ต๋๋ค.
FeatureSync ์ฌ์ฉ ๋ฐฉ๋ฒ
๊ธฐ๋ฅ ํ์ผ ํค๋์ ๋ค์์คํ์ด์ค์ ๋ก์บ์ ์ถ๊ฐํฉ๋๋ค.
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*๋ค์์คํ์ด์ค๋ ํ ์คํธ ๋ฉ์๋๊ฐ ํฌํจ๋ .dll ํ์ผ์ ์ด๋ฆ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค.
TFS์์ ๋น ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ณ ํด๋น ID๊ฐ ํฌํจ๋ ํ๊ทธ๋ฅผ ์คํฌ๋ฆฝํธ์ ์ถ๊ฐํฉ๋๋ค.
@2124573 @posistive
Scenario: Successful authorization
Given I on authorization page
And I enter:
| Login | Password |
| user | pass |
When I press Login button
Then Browser redirect on Home page
FeatureSync ์คํ:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ํ ์คํธ๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ํ ์คํ์ด ๋ฐ์ํฉ๋๋ค.
๋๊ธฐํ ๊ฒฐ๊ณผ
SpecFlow ์คํฌ๋ฆฝํธ ๋จ๊ณ๊ฐ ๋๊ธฐํ๋๊ณ ์๋ํ ์ํ๊ฐ ์ค์ ๋ฉ๋๋ค.
4. ํ ์คํธ ๊ณํ ์๋ฆฝ
ํ ์คํธ ๊ณํ์ ์์ฑํ๊ณ , ์๋ํ๋ ์ฌ๋ก๋ฅผ ์ถ๊ฐํ๊ณ , ์ค์ ์์ ๋น๋ ๋ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ์ ํํฉ๋๋ค.
5. ํ ์คํธ ์คํ
ํ ์คํธ ๊ณํ์์ ํ์ํ ํ ์คํธ๋ฅผ ์ ํํ๊ณ ์คํํฉ๋๋ค.
๊ฒฐ๋ก
์ด ๊ตฌ์ฑ์ ์ฅ์ :
- ๋ชจ๋ ํ ์คํฐ๋ ๋ฒ์ ์ ์ด ์น ์์์์ fetaure ํ์ผ์ ์ด๊ณ ํธ์งํ ์ ์์ผ๋ฉฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋น๋ ํ ์ฆ์ ์ ์ฉ๋ฉ๋๋ค.
- ์ธ์ ๋ ์ง ๊ฐ๋ณ์ ์ผ๋ก ํ ์คํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- ํฌ๋ช ํ ํ ์คํธ ๋ชจ๋ธ - ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ๊ฐ ์์ํ ํ ์คํธ๊ฐ ๋ฌด์์ ํ๋์ง ํญ์ ์๊ณ ์์ต๋๋ค.
์ถ์ฒ : habr.com