์ฌ๋ฌ๋ถ, ์๋ ํ์ธ์!
MeiliSearch ์๋ฒ์ ํ์ฌ ๋ชจ์๋ ์ฐ๋ฆฌ ํ
์คํธ์ ๋ํด ์ฝ๊ฐ ๊ฑฑ์ ํ๊ฒ ๋ง๋ญ๋๋ค. ์ฐจ๋ผ๋ฆฌ ์ค์ MeiliSearch ์๋ฒ์ ๋ํด ํ
์คํธ๋ฅผ ์คํํ๊ณ ์ถ์ต๋๋ค. ๋ชฉํ๋ ์ด ํจํค์ง๊ฐ ์ต์ ๋ฒ์ ์ MeiliSearch์ ๋ํด ํ๋ก๋์
ํ๊ฒฝ์์ ์๋ํ๋์ง ํ์ธํ๋ ๊ฒ์
๋๋ค.
์ค์ ๋ก MeiliSearch์ meilisearch-php๋ ์์ง ์์ ์ ์ด์ง ์์ผ๋ฉฐ MeiliSearch ์๋ฒ์ ๊ฐ ์์ ์ฌํญ์ ๋ชจ์ ์
๋ฐ์ดํธ๋ฅผ ๊ฐ์ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด, ์ฐ๋ฆฌ์ ํ
์คํธ๋ MeiliSearch์ ๋ง์ง๋ง ์์ ์ผ๋ก ์ต์ ์ํ๊ฐ ์๋๋ฉฐ ์ฐ๋ฆฌ ํจํค์ง๋ ๋์น์ฑ์ง ๋ชปํ ์ฑ ์ค๋ฅ๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ ๋ชจ์ ๋ถ๋ถ์ ์ ๊ฑฐํด์ผ ํ๋ค๊ณ ๋งํ์ง๋ ์์ง๋ง ์ ์ด๋ ์ค์ MeiliSearch ์๋ฒ์ ๋ํ ํตํฉ ํ ์คํธ ๋ถ๋ถ์ด ์์ด์ผ ํ๋ฏ๋ก ๋ ๋ค ์ ์งํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋๋ฌด ๋ง์ ์ ์ง ๊ด๋ฆฌ๋ผ๊ณ ์๊ฐ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ mock ๋ถ๋ถ์ ์ ๊ฑฐํฉ์๋ค.
Symfony ๋ฒ๋ค๋ฌ ํจํค์ง์์ ๋์ผํ ์์
์ ์ํํ์ต๋๋ค. https://github.com/meilisearch/meilisearch-symfony/blob/c764bcdb45f83941bc10d3b461ded5cf8d7f86b7/.github/workflows/tests.yml#L29 -L32
๊ทธ๋ฆฌ๊ณ meilisearch-php SDK ์ ์ฅ์: https://github.com/meilisearch/meilisearch-php/blob/master/.github/workflows/tests.yml
@shokme๋ ์ด๋ป๊ฒ ์๊ฐํ์ธ์? (๋น์ ์ ์๊ฐ์ผ ๋ฟ, ๋ฌผ๋ก ์๊ฐ์ด ๋๋๋๊ณ ๋ฌป๋ ๊ฒ์ ์๋๋๋ค ๐)
๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ๋ถ, ๊ทธ๊ฒ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ์ญ๋๊น?
๋๋ ์ด @curquiza์์ ์ ์ ์ผ๋ก ๋น์ ํธ์ ๋๋ค. CI ํ ์คํธ์ meilisearch ์๋น์ค๋ฅผ ์ถ๊ฐํ๋ฉด ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๊ฐ์ ์ง์ ์์ ํ
์คํธ๋ฅผ Unit
ํ
์คํธ ๋ฐ Feature
ํ
์คํธ์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋ถํ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ฌ์ ๋ชจ์ ํ
์คํธ๊ฐ ๊ณ์ ์งํ๋๋๋ก ํ์ญ์์ค.
#89์ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ฌ ํ
์คํธ๋์ง ์์ ๋ถ๋ถ์ ๋ณด์ฌ์ฃผ๋ ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง ์ถ๋ ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๊ทธ ๋ถ๋ถ์ ์๋ก์ด Feature
ํ
์คํธ์ ์์์ผ ์ ์์ต๋๋ค.
์ข์, ๊ทธ๋ผ ํด๋ณด์! ์ด๊ฒ์ ์ฐ๋ฆฌ์ ์ ์ฅ์๋ฅผ ๋ ์์ ํ๊ฒ ๋ง๋ค ๊ฒ์ ๋๋ค ๐ช
@curquiza ๋ซ์ ์ ์์ต๋๊น? ์ด๋ป๊ฒ ์๊ฐํ๋์
์ ์ฃ์กํฉ๋๋ค. PR์ด ์๋์ผ๋ก ๋ซ์์ด์ผ ํ์ต๋๋ค! ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ์ด @curquiza์์ ์ ์ ์ผ๋ก ๋น์ ํธ์ ๋๋ค. CI ํ ์คํธ์ meilisearch ์๋น์ค๋ฅผ ์ถ๊ฐํ๋ฉด ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๊ฐ์ ์ง์ ์์ ํ ์คํธ๋ฅผ
Unit
ํ ์คํธ ๋ฐFeature
ํ ์คํธ์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋ถํ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ฌ์ ๋ชจ์ ํ ์คํธ๊ฐ ๊ณ์ ์งํ๋๋๋ก ํ์ญ์์ค.#89์ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ฌ ํ ์คํธ๋์ง ์์ ๋ถ๋ถ์ ๋ณด์ฌ์ฃผ๋ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง ์ถ๋ ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๊ทธ ๋ถ๋ถ์ ์๋ก์ด
Feature
ํ ์คํธ์ ์์์ผ ์ ์์ต๋๋ค.