$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?> ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷೆಗಳು,

ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷೆಗಳು, ಪರೀಕ್ಷಾ ಕಂಟೈನರ್‌ಗಳು ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್ ಏಕೀಕರಣದೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವುದು

Temp mail SuperHeros
ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷೆಗಳು, ಪರೀಕ್ಷಾ ಕಂಟೈನರ್‌ಗಳು ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್ ಏಕೀಕರಣದೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವುದು
ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷೆಗಳು, ಪರೀಕ್ಷಾ ಕಂಟೈನರ್‌ಗಳು ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್ ಏಕೀಕರಣದೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವುದು

ಕ್ವಾರ್ಕಸ್ ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್‌ನೊಂದಿಗೆ ಪರೀಕ್ಷೆಯಲ್ಲಿನ ಸವಾಲುಗಳನ್ನು ಮೀರುವುದು

ಆಧುನಿಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಪರಿಣಾಮಕಾರಿ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳನ್ನು ಬರೆಯುವುದು ಅತ್ಯಗತ್ಯ, ವಿಶೇಷವಾಗಿ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಬಳಸುವಾಗ ಕ್ವಾರ್ಕಸ್, ಪರೀಕ್ಷಾ ಧಾರಕಗಳು, ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್. ಆದಾಗ್ಯೂ, ಪ್ರಕ್ರಿಯೆಯು ಯಾವಾಗಲೂ ಸರಳವಾಗಿರುವುದಿಲ್ಲ. ಡೆವಲಪರ್‌ಗಳು ಆಗಾಗ್ಗೆ ಅನಿರೀಕ್ಷಿತ ಸವಾಲುಗಳನ್ನು ಎದುರಿಸುತ್ತಾರೆ, ಉದಾಹರಣೆಗೆ ಸಂಪನ್ಮೂಲ ಸಂಘರ್ಷಗಳು ಅಥವಾ ಅಸಮರ್ಪಕ ಕಾನ್ಫಿಗರೇಶನ್.

ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಡೇಟಾಬೇಸ್ ವಲಸೆಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಒಂದು ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆ ಉದ್ಭವಿಸುತ್ತದೆ. ಲಿಕ್ವಿಬೇಸ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಸಮಯವನ್ನು ಕಳೆಯುವುದನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ, ನಿಮ್ಮ ವಲಸೆ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಒಂದು ಡೇಟಾಬೇಸ್ ಕಂಟೇನರ್‌ನಲ್ಲಿ ರನ್ ಆಗುತ್ತವೆ, ಆದರೆ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಇನ್ನೊಂದಕ್ಕೆ ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತದೆ. ಹತಾಶೆ, ಸರಿ? 🐛

ಈ ಪೋಸ್ಟ್‌ನಲ್ಲಿ, ಇದೇ ರೀತಿಯ ಸವಾಲನ್ನು ಎದುರಿಸುವ ನನ್ನ ಅನುಭವವನ್ನು ನಾನು ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ: ಟೆಸ್ಟ್ ಕಂಟೈನರ್‌ಗಳು ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್‌ನೊಂದಿಗೆ ಕ್ವಾರ್ಕಸ್ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸುತ್ತಿದೆ. ನಾನು ಗಮನಿಸಿದ ವಿಚಿತ್ರ ನಡವಳಿಕೆಯೆಂದರೆ ಬಹು ಡೇಟಾಬೇಸ್ ಕಂಟೈನರ್‌ಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ, ಇದು ವಿಫಲ ಪರೀಕ್ಷೆಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಈ ಪೋಸ್ಟ್ ಡೀಬಗ್ ಮಾಡಲು ಮತ್ತು ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಧುಮುಕುತ್ತದೆ.

ನೀವು ಎಂದಾದರೂ ಅಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸಿದರೆ, ನೀವು ಒಬ್ಬಂಟಿಯಾಗಿಲ್ಲ. ಮೂಲ ಕಾರಣವನ್ನು ಹೇಗೆ ಗುರುತಿಸುವುದು ಮತ್ತು ನಿಮ್ಮ ಪರೀಕ್ಷೆಗಳು ಮನಬಂದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ನಾವು ಹಂತ-ಹಂತವಾಗಿ ಅನ್ವೇಷಿಸುತ್ತೇವೆ. ಕೆಲಸದ ಉದಾಹರಣೆ ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ಸಲಹೆಗಳೊಂದಿಗೆ, ನೀವು ಸಾಮಾನ್ಯ ಮೋಸಗಳನ್ನು ತಪ್ಪಿಸಲು ಮತ್ತು ದೃಢವಾದ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. 🚀

ಆಜ್ಞೆ ಬಳಕೆಯ ಉದಾಹರಣೆ
QuarkusTestResource ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷೆಗಳ ಸಮಯದಲ್ಲಿ ಬಾಹ್ಯ ಅವಲಂಬನೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು PostgreSQLTestResource ನಂತಹ ಕಸ್ಟಮ್ ಪರೀಕ್ಷಾ ಸಂಪನ್ಮೂಲ ಜೀವನಚಕ್ರ ನಿರ್ವಾಹಕವನ್ನು ನೋಂದಾಯಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
withReuse(true) ಬಹು ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಕಂಟೇನರ್ ಮರುಬಳಕೆಯನ್ನು ಅನುಮತಿಸಲು ಟೆಸ್ಟ್ ಕಂಟೈನರ್ ವಿಧಾನ, ಡೇಟಾಬೇಸ್ ಕಂಟೇನರ್ ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡುವಾಗ ಪ್ರಾರಂಭದ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
QuarkusTestProfile ವಿಭಿನ್ನ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಪಾಥ್ ಅಥವಾ ಪ್ರೊಫೈಲ್-ನಿರ್ದಿಷ್ಟ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿಸುವಂತಹ ನಿರ್ದಿಷ್ಟ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಅತಿಕ್ರಮಿಸಲು ಕಸ್ಟಮ್ ಪರೀಕ್ಷಾ ಪ್ರೊಫೈಲ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
withDatabaseName PostgreSQL ಕಂಟೇನರ್‌ನಲ್ಲಿ ರಚಿಸಲಾದ ಡೇಟಾಬೇಸ್‌ನ ಹೆಸರನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಪರೀಕ್ಷಾ-ನಿರ್ದಿಷ್ಟ ಡೇಟಾಬೇಸ್ ನಿದರ್ಶನಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ.
given() HTTP ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಲು ಪರೀಕ್ಷೆಯಲ್ಲಿ RestAssured ನಿಂದ ಒಂದು ವಿಧಾನವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಅಂತಿಮ ಬಿಂದುಗಳು ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ಡೇಟಾದ ಮೌಲ್ಯೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.
then() ಪ್ರತಿಕ್ರಿಯೆ ಸ್ಥಿತಿ ಅಥವಾ ದೇಹವನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು RestAssured ನಲ್ಲಿ ವಿನಂತಿಯ ನಂತರ ಚೈನ್ ಮಾಡಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಸ್ಥಿತಿ ಕೋಡ್‌ಗಳು ಅಥವಾ ಡೇಟಾ ಸ್ವರೂಪಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.
Map.of ಸಂಕ್ಷಿಪ್ತ ರೀತಿಯಲ್ಲಿ ಬದಲಾಯಿಸಲಾಗದ ನಕ್ಷೆಗಳನ್ನು ರಚಿಸಲು Java 9 ನಲ್ಲಿ ಪರಿಚಯಿಸಲಾದ ವಿಧಾನವನ್ನು ಪರೀಕ್ಷಾ ಪ್ರೊಫೈಲ್‌ಗಾಗಿ ಕಾನ್ಫಿಗರೇಶನ್ ಗುಣಲಕ್ಷಣಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಇಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.
getJdbcUrl PostgreSQL TestContainer ಗಾಗಿ JDBC ಸಂಪರ್ಕ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ, ಅಪ್ಲಿಕೇಶನ್ ಸರಿಯಾದ ಕಂಟೇನರ್‌ಗೆ ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
@QuarkusTest ಕ್ವಾರ್ಕಸ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಪರಿಸರದಲ್ಲಿ ಪರೀಕ್ಷೆಯನ್ನು ನಡೆಸಲು ಬಳಸುವ ಟಿಪ್ಪಣಿ, ಅವಲಂಬನೆ ಇಂಜೆಕ್ಷನ್ ಮತ್ತು ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಕ್ವಾರ್ಕಸ್-ನಿರ್ದಿಷ್ಟ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
@TestProfile ನಿರ್ದಿಷ್ಟ ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷಾ ಪ್ರೊಫೈಲ್‌ನೊಂದಿಗೆ ಪರೀಕ್ಷಾ ವರ್ಗವನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ, ಪರೀಕ್ಷಾ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಸೂಕ್ತವಾದ ಸಂರಚನೆಯನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಕ್ವಾರ್ಕಸ್‌ನಲ್ಲಿ ಲಿಕ್ವಿಬೇಸ್ ಮತ್ತು ಟೆಸ್ಟ್ ಕಂಟೈನರ್ ಸಂಘರ್ಷಗಳನ್ನು ಹೇಗೆ ಪರಿಹರಿಸುವುದು

ಕ್ವಾರ್ಕಸ್ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಪ್ರಾಯೋಗಿಕ ವಿಧಾನವನ್ನು ಮೊದಲು ಒದಗಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಪ್ರದರ್ಶಿಸುತ್ತವೆ ಟೆಸ್ಟ್ ಕಂಟೈನರ್ಗಳು ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್. ಲಿಕ್ವಿಬೇಸ್ ವಲಸೆ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಅದೇ ಡೇಟಾಬೇಸ್ ಕಂಟೇನರ್‌ನೊಂದಿಗೆ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಸಂವಹನ ನಡೆಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಮುಖ್ಯ ಗುರಿಯಾಗಿದೆ. ಕಸ್ಟಮ್ ಜೀವನಚಕ್ರ ನಿರ್ವಾಹಕ, `PostgreSQLTestResource` ಅನ್ನು ರಚಿಸುವ ಮೂಲಕ ಇದನ್ನು ಸಾಧಿಸಲಾಗುತ್ತದೆ, ಇದು ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್ ಆಗಿ PostgreSQL ಕಂಟೇನರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ಪರೀಕ್ಷೆಯಲ್ಲಿರುವ ಕ್ವಾರ್ಕಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅದರ ಕಾನ್ಫಿಗರೇಶನ್ ವಿವರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಅನುದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಎರಡನೇ ಕಂಟೇನರ್ ಅನ್ನು ರಚಿಸುವ ಅಪ್ಲಿಕೇಶನ್‌ನ ಸಾಮಾನ್ಯ ಅಪಾಯವನ್ನು ತಪ್ಪಿಸುತ್ತದೆ, ಇದು ಅಸಂಗತತೆಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು. 🚀

`withReuse(true)` ವಿಧಾನದ ಬಳಕೆಯು ಪರೀಕ್ಷೆಗಳ ನಡುವೆ PostgreSQL ಕಂಟೇನರ್ ಸಕ್ರಿಯವಾಗಿ ಉಳಿಯುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ಪ್ರತಿ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಕ್ಕೆ ಕಂಟೇನರ್‌ಗಳನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವ ಓವರ್‌ಹೆಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಬಹು ಪರೀಕ್ಷಾ ತರಗತಿಗಳು ಒಂದೇ ಡೇಟಾಬೇಸ್ ಸ್ಥಿತಿಯನ್ನು ಪ್ರವೇಶಿಸಲು ಅಗತ್ಯವಿರುವ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಇದು ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ. ಕಸ್ಟಮ್ `TestProfileResolver` ಕ್ವಾರ್ಕಸ್ ಅನ್ನು ಸರಿಯಾದ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗೆ ಸೂಚಿಸುವ ಮೂಲಕ ಮತ್ತು ಪರೀಕ್ಷಾ ಕಂಟೇನರ್‌ನ ಸೆಟಪ್‌ನೊಂದಿಗೆ ಹೊಂದಿಸಲು ಡೇಟಾಬೇಸ್ URL ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಂತಹ ಕೆಲವು ಗುಣಲಕ್ಷಣಗಳನ್ನು ಅತಿಕ್ರಮಿಸುವ ಮೂಲಕ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಕಾನ್ಫಿಗರೇಶನ್‌ಗಾಗಿ ಸತ್ಯದ ಏಕೈಕ ಮೂಲವನ್ನು ನಿರ್ವಹಿಸುವ ಮೂಲಕ, ಹೊಂದಿಕೆಯಾಗದ ಪರಿಸರದಿಂದ ಉಂಟಾಗುವ ದೋಷಗಳನ್ನು ನೀವು ಕಡಿಮೆಗೊಳಿಸುತ್ತೀರಿ.

ಪರೀಕ್ಷಾ ಸ್ಕ್ರಿಪ್ಟ್ `XServiceTest` ಒಳಗೆ, `@QuarkusTestResource` ಟಿಪ್ಪಣಿಯು ಕಸ್ಟಮ್ ಪರೀಕ್ಷಾ ಸಂಪನ್ಮೂಲವನ್ನು ಪರೀಕ್ಷಾ ವರ್ಗಕ್ಕೆ ಬಂಧಿಸುತ್ತದೆ. ರನ್‌ಟೈಮ್‌ನಲ್ಲಿ ಕಂಟೇನರ್ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಇಂಜೆಕ್ಟ್ ಮಾಡಲು ಇದು ನಿರ್ಣಾಯಕವಾಗಿದೆ, ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್ ಒಂದೇ ಡೇಟಾಬೇಸ್ ನಿದರ್ಶನದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಡೇಟಾಬೇಸ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಸೇವೆಯಾದ `XTypeVersionService` ಅನ್ನು ವೈರ್ ಅಪ್ ಮಾಡಲು `@ಇಂಜೆಕ್ಟ್` ಟಿಪ್ಪಣಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಪರೀಕ್ಷಾ ಪ್ರಕರಣವನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೂಲಕ `getXTypeVersion`, ಡೇಟಾಬೇಸ್ ನಂತರದ ವಲಸೆಯಲ್ಲಿ ನಿರೀಕ್ಷಿತ ಡೇಟಾ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸುತ್ತೀರಿ, ಸರಿಯಾದ ಕಂಟೇನರ್‌ನಲ್ಲಿ Liquibase ಯಶಸ್ವಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಂಡಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಪರೀಕ್ಷೆಯನ್ನು ನಡೆಸುವುದನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ, ಎಲ್ಲಾ ಸೇವೆಗಳು ಒಗ್ಗೂಡಿಸಲು ನಿರೀಕ್ಷಿಸಬಹುದು, ಆದರೆ ಅಸಮರ್ಪಕ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳಿಂದ ಯಾವುದೇ ಫಲಿತಾಂಶಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗುವುದಿಲ್ಲ-ಇದು ಡೀಬಗ್ ಮಾಡುವ ಸಮಯವನ್ನು ವ್ಯರ್ಥ ಮಾಡಲು ಕಾರಣವಾಗಬಹುದು. ಪರೀಕ್ಷಾ ಪರಿಸರದ ಜೀವನಚಕ್ರವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ವಹಿಸುವ ಮೂಲಕ ಮತ್ತು ಸ್ಥಿರವಾದ ನಡವಳಿಕೆಯನ್ನು ಖಾತ್ರಿಪಡಿಸುವ ಮೂಲಕ ಅಂತಹ ಸನ್ನಿವೇಶಗಳನ್ನು ತಡೆಗಟ್ಟಲು ಈ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಇದಲ್ಲದೆ, RestAssured ನಂತಹ ಉಪಕರಣಗಳು API ಅಂತಿಮ ಬಿಂದುಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತವೆ, ಬ್ಯಾಕೆಂಡ್ ವಲಸೆಗಳು ಮತ್ತು ಮುಂಭಾಗದ ಪರಸ್ಪರ ಕ್ರಿಯೆಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಪೂರ್ಣ-ಸ್ಟಾಕ್ ಪರೀಕ್ಷಾ ಸನ್ನಿವೇಶವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಈ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳೊಂದಿಗೆ, ನೀವು ಹೆಚ್ಚು ದೃಢವಾದ ಪರೀಕ್ಷೆಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು, ಪರಿಸರದ ಅಸಾಮರಸ್ಯವನ್ನು ತೊಡೆದುಹಾಕಬಹುದು ಮತ್ತು ನಿಮ್ಮ ತಂಡದ ಪರೀಕ್ಷಾ ಚೌಕಟ್ಟು ಸಾಧ್ಯವಾದಷ್ಟು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. 🔧

ಕ್ವಾರ್ಕಸ್‌ನಲ್ಲಿ ಲಿಕ್ವಿಬೇಸ್ ಮತ್ತು ಟೆಸ್ಟ್ ಕಂಟೈನರ್‌ಗಳ ನಡುವೆ ಸರಿಯಾದ ಏಕೀಕರಣವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು

PostgreSQL ಮತ್ತು Liquibase ವಲಸೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು TestContainers ಜೊತೆಗೆ Quarkus ಅನ್ನು ಬಳಸಿಕೊಂಡು ಬ್ಯಾಕೆಂಡ್ ಪರಿಹಾರ. ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಟೇನರ್ ತಪ್ಪು ಜೋಡಣೆ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ.

import org.testcontainers.containers.PostgreSQLContainer;
import org.testcontainers.utility.DockerImageName;
import java.util.HashMap;
import java.util.Map;
public class PostgreSQLTestResource implements QuarkusTestResourceLifecycleManager {
    private static PostgreSQLContainer<?> postgreSQLContainer;
    @Override
    public Map<String, String> start() {
        postgreSQLContainer = new PostgreSQLContainer<>(DockerImageName.parse("postgres:alpine"))
            .withDatabaseName("test")
            .withUsername("postgres")
            .withPassword("password")
            .withReuse(true);
        postgreSQLContainer.start();
        Map<String, String> config = new HashMap<>();
        config.put("quarkus.datasource.jdbc.url", postgreSQLContainer.getJdbcUrl());
        config.put("quarkus.datasource.username", postgreSQLContainer.getUsername());
        config.put("quarkus.datasource.password", postgreSQLContainer.getPassword());
        return config;
    }
    @Override
    public void stop() {
        if (postgreSQLContainer != null) {
            postgreSQLContainer.stop();
        }
    }
}

ಯುನಿಟ್ ಪರೀಕ್ಷೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಪ್ಲಿಕೇಶನ್-ಲಿಕ್ವಿಬೇಸ್ ಇಂಟಿಗ್ರೇಶನ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಲಾಗುತ್ತಿದೆ

ಡೇಟಾಬೇಸ್ ಸಂಪರ್ಕ ಮತ್ತು ವಲಸೆ ಸ್ಕ್ರಿಪ್ಟ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವ ಮಾಡ್ಯುಲರ್ ಮತ್ತು ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷಾ ಉದಾಹರಣೆ.

import org.junit.jupiter.api.Test;
import io.quarkus.test.junit.QuarkusTest;
import io.quarkus.test.junit.TestProfile;
@QuarkusTest
@TestProfile(TestProfileResolver.class)
public class XServiceTest {
    @Inject
    XTypeVersionService xTypeVersionService;
    @Test
    public void getXTypeVersion() {
        List<XTypeVersionEntity> entities = xTypeVersionService.get();
        assertFalse(entities.isEmpty(), "The entity list should not be empty.");
    }
}

ಪರೀಕ್ಷಾ ಪ್ರೊಫೈಲ್‌ಗಳಾದ್ಯಂತ ಕಾನ್ಫಿಗರೇಶನ್ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು

ಲಿಕ್ವಿಬೇಸ್ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಕಂಟೈನರ್‌ಗಳ ನಡುವೆ ಜೋಡಣೆಯನ್ನು ಖಾತರಿಪಡಿಸಲು ಕಸ್ಟಮ್ ಪರೀಕ್ಷಾ ಪ್ರೊಫೈಲ್ ಕಾನ್ಫಿಗರೇಶನ್.

public class TestProfileResolver implements QuarkusTestProfile {
    @Override
    public String getConfigProfile() {
        return "test";
    }
    @Override
    public Map<String, String> getConfigOverrides() {
        return Map.of("quarkus.config.locations", "src/test/resources/application.yaml");
    }
}

ಡೇಟಾ ಮೌಲ್ಯೀಕರಣಕ್ಕಾಗಿ ಫ್ರಂಟ್-ಎಂಡ್ ಸಿಮ್ಯುಲೇಶನ್

ಡೇಟಾಬೇಸ್ ಏಕೀಕರಣದಿಂದ ಡೇಟಾವನ್ನು ಸರಿಯಾಗಿ ಪ್ರದರ್ಶಿಸಲು ಡೈನಾಮಿಕ್ ಫ್ರಂಟ್-ಎಂಡ್ ಕೋಡ್ ತುಣುಕು.

fetch('/api/xTypeVersion')
    .then(response => response.json())
    .then(data => {
        const list = document.getElementById('entity-list');
        data.forEach(entity => {
            const item = document.createElement('li');
            item.textContent = entity.name;
            list.appendChild(item);
        });
    })
    .catch(error => console.error('Error fetching data:', error));

ಬ್ಯಾಕೆಂಡ್ ಮತ್ತು ಫ್ರಂಟ್-ಎಂಡ್ ಸ್ಥಿರತೆಗಾಗಿ ಘಟಕ ಪರೀಕ್ಷೆಗಳು

ಪರೀಕ್ಷಾ ಡೇಟಾದೊಂದಿಗೆ ಬ್ಯಾಕೆಂಡ್ ಲಾಜಿಕ್ ಮತ್ತು ಫ್ರಂಟ್-ಎಂಡ್ ಏಕೀಕರಣ ಎರಡನ್ನೂ ಮೌಲ್ಯೀಕರಿಸಲು ಪರೀಕ್ಷಾ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಉದಾಹರಣೆ.

import org.junit.jupiter.api.Test;
public class FrontEndValidationTest {
    @Test
    public void fetchData() {
        given().when().get("/api/xTypeVersion")
            .then().statusCode(200)
            .body("size()", greaterThan(0));
    }
}

ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷೆಗಳಿಗಾಗಿ ಡೇಟಾಬೇಸ್ ಏಕೀಕರಣವನ್ನು ಉತ್ತಮಗೊಳಿಸುವುದು

ಕ್ವಾರ್ಕಸ್ ಪರಿಸರದಲ್ಲಿ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ, ಡೇಟಾಬೇಸ್ ಕಂಟೇನರ್ ನಿರ್ವಹಣೆಯನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪರಿಹರಿಸಲು ಇದು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ವಲಸೆ ಪರಿಕರಗಳ ನಡುವೆ ಹೊಂದಿಕೆಯಾಗದ ಕಂಟೈನರ್‌ಗಳಿಂದ ಒಂದು ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆ ಉದ್ಭವಿಸುತ್ತದೆ ಲಿಕ್ವಿಬೇಸ್. ಒಂದು ಪ್ರಮುಖ ಪರಿಹಾರವು ಹತೋಟಿಯಲ್ಲಿದೆ ಟೆಸ್ಟ್ ಕಂಟೈನರ್ಗಳು ಲೈಬ್ರರಿ, ಇದು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ವಲಸೆ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಒಂದೇ ಕಂಟೇನರ್‌ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಈ ವಿಧಾನವು ನಕಲಿ ಕಂಟೈನರ್‌ಗಳ ರಚನೆಯನ್ನು ತಪ್ಪಿಸುತ್ತದೆ ಮತ್ತು ಪರೀಕ್ಷಾ ಜೀವನಚಕ್ರದ ಉದ್ದಕ್ಕೂ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಜೋಡಿಸುತ್ತದೆ. 🎯

ಪರಿಗಣಿಸಬೇಕಾದ ಮತ್ತೊಂದು ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ವಲಸೆ ತಂತ್ರ. ಅನೇಕ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಡೆವಲಪರ್‌ಗಳು ತಾಜಾ ಡೇಟಾಬೇಸ್ ಸ್ಥಿತಿಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಪರೀಕ್ಷೆಗಳ ಸಮಯದಲ್ಲಿ `ಡ್ರಾಪ್-ಅಂಡ್-ಕ್ರಿಯೇಟ್' ತಂತ್ರವನ್ನು ಬಳಸುತ್ತಾರೆ. ಆದಾಗ್ಯೂ, ನೀವು Liquibase ಅನ್ನು ಬಳಸಿಕೊಂಡು ಪರೀಕ್ಷಾ ಡೇಟಾದೊಂದಿಗೆ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸೀಡ್ ಮಾಡಲು ಬಯಸಬಹುದು. ಇದನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಮಾಡಲು, ಪ್ರಾರಂಭಿಕ SQL ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಅದನ್ನು `TC_INITSCRIPT` ಆಸ್ತಿಯ ಮೂಲಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ಈ ವಿಧಾನವು ನಿಮ್ಮ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸುವ ಮೊದಲು ಡೇಟಾಬೇಸ್ ರಚನೆ ಮತ್ತು ಅಗತ್ಯವಿರುವ ಪರೀಕ್ಷಾ ಡೇಟಾ ಎರಡೂ ಸಿದ್ಧವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ಕಳೆದುಹೋದ ದಾಖಲೆಗಳಿಂದ ಉಂಟಾಗುವ ದೋಷಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.

ಅಂತಿಮವಾಗಿ, ಮಾನಿಟರಿಂಗ್ ಲಾಗ್‌ಗಳು ಜೀವ ರಕ್ಷಕ ಆಗಿರಬಹುದು. Quarkus ಮತ್ತು Liquibase ಎರಡೂ ವಿವರವಾದ ಲಾಗಿಂಗ್ ಆಯ್ಕೆಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ, ಇದು ಸಂಪರ್ಕ ಸಮಸ್ಯೆಗಳು ಅಥವಾ ತಪ್ಪು ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಸೂಕ್ತವಾದ ಲಾಗ್ ಮಟ್ಟವನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ, ಲಿಕ್ವಿಬೇಸ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ನಿರೀಕ್ಷೆಯಂತೆ ಚಾಲನೆಯಲ್ಲಿವೆಯೇ ಎಂಬುದನ್ನು ನೀವು ಗಮನಿಸಬಹುದು ಮತ್ತು ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಬಳಸುತ್ತಿರುವ URL ಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. ಪರೀಕ್ಷಾ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಉದ್ಭವಿಸುವ ಯಾವುದೇ ಘರ್ಷಣೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಈ ಮಟ್ಟದ ಗೋಚರತೆಯು ಅತ್ಯಗತ್ಯವಾಗಿರುತ್ತದೆ, ಇದು ದೃಢವಾದ ಪರೀಕ್ಷಾ ಚೌಕಟ್ಟನ್ನು ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. 🚀

ಕ್ವಾರ್ಕಸ್, ಟೆಸ್ಟ್ ಕಂಟೈನರ್‌ಗಳು ಮತ್ತು ಲಿಕ್ವಿಬೇಸ್ ಇಂಟಿಗ್ರೇಷನ್ ಬಗ್ಗೆ FAQ ಗಳು

  1. ಪಾತ್ರ ಏನು TestContainers ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ?
  2. TestContainers ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ ಪ್ರತ್ಯೇಕವಾದ ಡೇಟಾಬೇಸ್ ನಿದರ್ಶನಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಸ್ಥಿರ ಪರಿಸರವನ್ನು ಖಾತ್ರಿಪಡಿಸುತ್ತದೆ.
  3. ನನಗೆ ಏಕೆ ಬೇಕು withReuse(true) ಆಜ್ಞೆ?
  4. ದಿ withReuse(true) ಆಜ್ಞೆಯು ಒಂದೇ ಕಂಟೇನರ್ ಅನ್ನು ಬಹು ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಮರುಬಳಕೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ, ಸಂಪನ್ಮೂಲಗಳನ್ನು ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಸಮಯವನ್ನು ಹೊಂದಿಸುತ್ತದೆ.
  5. ನ ಉದ್ದೇಶವೇನು TC_INITSCRIPT ಆಸ್ತಿ?
  6. ದಿ TC_INITSCRIPT ಕಂಟೈನರ್ ಪ್ರಾರಂಭದಲ್ಲಿ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸೀಡ್ ಮಾಡಲು ಪ್ರಾಪರ್ಟಿಯು ಇನಿಶಿಯಲೈಸೇಶನ್ SQL ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
  7. ಲಿಕ್ವಿಬೇಸ್ ವಲಸೆಗಳನ್ನು ಸರಿಯಾಗಿ ಅನ್ವಯಿಸಲಾಗಿದೆ ಎಂದು ನಾನು ಹೇಗೆ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು?
  8. ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಮೂಲಕ quarkus.liquibase.jdbc.url ಆಸ್ತಿ, ಲಿಕ್ವಿಬೇಸ್ ಅಪ್ಲಿಕೇಶನ್‌ನ ಅದೇ ಡೇಟಾಬೇಸ್ ಕಂಟೇನರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ನೀವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು.
  9. ಡೀಬಗ್ ಮಾಡಲು ನಾನು ಯಾವ ಲಾಗ್ ಹಂತಗಳನ್ನು ಬಳಸಬೇಕು?
  10. ಹೊಂದಿಸಿ TRACE ಅಥವಾ DEBUG ಡೇಟಾಬೇಸ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಮತ್ತು ವಲಸೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಲಿಕ್ವಿಬೇಸ್ ಮತ್ತು ಟೆಸ್ಟ್ ಕಂಟೈನರ್‌ಗಳಿಗೆ ಮಟ್ಟಗಳು.
  11. ಸೀಡೆಡ್ ಡೇಟಾದೊಂದಿಗೆ ನಾನು API ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಹೇಗೆ ಪರೀಕ್ಷಿಸಬಹುದು?
  12. ಮುಂತಾದ ಪರಿಕರಗಳನ್ನು ಬಳಸಿ RestAssured ಅಂತಿಮ ಬಿಂದುಗಳಿಗೆ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತು ಹಿಂತಿರುಗಿಸಿದ ಡೇಟಾವು ಪರೀಕ್ಷಾ ಡೇಟಾಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸಲು.
  13. ಏನು ಮಾಡುತ್ತದೆ @QuarkusTestResource ಟಿಪ್ಪಣಿ ಮಾಡುವುದೇ?
  14. ದಿ @QuarkusTestResource ಟಿಪ್ಪಣಿ ಡೇಟಾಬೇಸ್‌ಗಳಂತಹ ಬಾಹ್ಯ ಅವಲಂಬನೆಗಳಿಗಾಗಿ ಕಸ್ಟಮ್ ಜೀವನಚಕ್ರ ನಿರ್ವಾಹಕವನ್ನು ನೋಂದಾಯಿಸುತ್ತದೆ.
  15. ನನಗೆ ಕಸ್ಟಮ್ TestProfileResolver ಏಕೆ ಬೇಕು?
  16. ಪರೀಕ್ಷಾ ಕಾರ್ಯಗತಗೊಳಿಸಲು, ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಜೋಡಿಸಲು ಸರಿಯಾದ ಸಂರಚನೆಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
  17. ಬಹು ಕಂಟೈನರ್‌ಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತಿದ್ದರೆ ನಾನು ಹೇಗೆ ಕಂಡುಹಿಡಿಯಬಹುದು?
  18. ನಿಮ್ಮ ಡಾಕರ್ ಡೆಸ್ಕ್‌ಟಾಪ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಅಥವಾ ನಕಲಿ ಕಂಟೇನರ್ ನಿದರ್ಶನಗಳು ಮತ್ತು ಅವುಗಳ ಸಂಬಂಧಿತ ಪೋರ್ಟ್‌ಗಳಿಗಾಗಿ ಕನ್ಸೋಲ್ ಲಾಗ್‌ಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ.
  19. ಪರೀಕ್ಷಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಲು ಉತ್ತಮ ಮಾರ್ಗ ಯಾವುದು?
  20. ಅತಿಕ್ರಮಿಸಿ stop ಪರೀಕ್ಷೆಗಳು ಪೂರ್ಣಗೊಂಡ ನಂತರ ಕಂಟೇನರ್ ಅನ್ನು ನಿಲ್ಲಿಸಲು ಮತ್ತು ತೆಗೆದುಹಾಕಲು ನಿಮ್ಮ ಜೀವನಚಕ್ರ ನಿರ್ವಾಹಕದಲ್ಲಿ ವಿಧಾನ.

ಪರೀಕ್ಷಾ ಸಂಘರ್ಷಗಳನ್ನು ಪರಿಹರಿಸಲು ಪ್ರಮುಖ ಟೇಕ್‌ಅವೇಗಳು

ಕ್ವಾರ್ಕಸ್, ಲಿಕ್ವಿಬೇಸ್ ಮತ್ತು ಟೆಸ್ಟ್ ಕಂಟೈನರ್‌ಗಳೊಂದಿಗೆ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಯು ವಲಸೆಗಳು ಮತ್ತು ಡೇಟಾಬೇಸ್ ಪರಸ್ಪರ ಹೊಂದಾಣಿಕೆಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಎಚ್ಚರಿಕೆಯಿಂದ ಸೆಟಪ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ. ನಿಮ್ಮ ಪರೀಕ್ಷಾ ಸಂಪನ್ಮೂಲ ನಿರ್ವಾಹಕರನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಏಕೀಕೃತ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, Liquibase ಮತ್ತು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸುವ ಕಂಟೈನರ್‌ಗಳ ನಡುವಿನ ಸಂಘರ್ಷಗಳನ್ನು ನೀವು ತೆಗೆದುಹಾಕಬಹುದು.

ಈ ಹಂತಗಳು ನಿಮ್ಮ ಪರೀಕ್ಷಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸುಗಮಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ನಿಮ್ಮ ಪರೀಕ್ಷೆಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಮತ್ತು ಮೌಲ್ಯೀಕರಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ. ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯಂತಹ ವಿವರವಾದ ಲಾಗ್‌ಗಳನ್ನು ಬಳಸಲು ಮರೆಯದಿರಿ ಟ್ರೇಸ್ Liquibase ಗಾಗಿ, ನಿಮ್ಮ ಪರೀಕ್ಷೆಗಳ ನಡವಳಿಕೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಮತ್ತು ವ್ಯತ್ಯಾಸಗಳನ್ನು ಮೊದಲೇ ಪರಿಹರಿಸಲು. ಈ ವಿಧಾನದೊಂದಿಗೆ, ನೀವು ವಿಶ್ವಾಸದಿಂದ ಸ್ಕೇಲೆಬಲ್ ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದಾದ ಪರೀಕ್ಷೆಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು. 🐛

ಕ್ವಾರ್ಕಸ್, ಲಿಕ್ವಿಬೇಸ್ ಮತ್ತು ಟೆಸ್ಟ್ ಕಂಟೈನರ್‌ಗಳೊಂದಿಗೆ ಪರೀಕ್ಷೆಗಾಗಿ ಮೂಲಗಳು ಮತ್ತು ಉಲ್ಲೇಖಗಳು
  1. ಬಳಕೆಯ ಬಗ್ಗೆ ವಿವರಿಸುತ್ತದೆ ಲಿಕ್ವಿಬೇಸ್ ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ ಡೇಟಾಬೇಸ್ ವಲಸೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು. ಅಧಿಕೃತ ದಾಖಲೆಗಳನ್ನು ನೋಡಿ: ಲಿಕ್ವಿಬೇಸ್ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ .
  2. ಹೇಗೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ ಟೆಸ್ಟ್ ಕಂಟೈನರ್ಗಳು ಪರೀಕ್ಷೆಗಳಿಗೆ ಡೈನಾಮಿಕ್ ಕಂಟೈನರೈಸ್ಡ್ ಪರಿಸರವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಉಲ್ಲೇಖ: TestContainers ಅಧಿಕೃತ ಸೈಟ್ .
  3. ರಲ್ಲಿ ಸುಧಾರಿತ ಪರೀಕ್ಷಾ ಮಾದರಿಗಳನ್ನು ಚರ್ಚಿಸುತ್ತದೆ ಕ್ವಾರ್ಕಸ್, ಪರೀಕ್ಷಾ ಪ್ರೊಫೈಲ್‌ಗಳು ಮತ್ತು ಜೀವನಚಕ್ರ ನಿರ್ವಹಣೆ ಸೇರಿದಂತೆ. ಇಲ್ಲಿ ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ: ಕ್ವಾರ್ಕಸ್ ಪರೀಕ್ಷಾ ಮಾರ್ಗದರ್ಶಿ .
  4. ಬಹು ಧಾರಕಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಏಕೀಕರಣ ಸಮಸ್ಯೆಗಳನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸುವುದು ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ಸಮುದಾಯ ಸಂಪನ್ಮೂಲ: StackOverflow TestContainers ಟ್ಯಾಗ್ .
  5. ಹೆಚ್ಚುವರಿ ಒಳನೋಟಗಳು PostgreSQL ಟೆಸ್ಟ್ ಕಂಟೈನರ್‌ಗಳಲ್ಲಿ ಕಾನ್ಫಿಗರೇಶನ್: TestContainers PostgreSQL ಮಾಡ್ಯೂಲ್ .