ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ
ເຫດຜົນ
ບາງຄັ້ງ ກໍລະນີທົດສອບແມ່ນກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມສະເພາະໃດໜຶ່ງເທົ່ານັ້ນ. ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ ຊ່ວຍໃຫ້ສາມາດກອງກໍລະນີທົດສອບທີ່ບໍ່ກ່ຽວຂ້ອງອອກໄປໄດ້.
ການຈັດຕັ້ງປະຕິບັດ
ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ ແມ່ນຟັງຊັນທີ່ຮັບພາລາມິເຕີສະພາບແວດລ້ອມ ແລະ ສົ່ງຄືນຄ່າເປັນ True, False ຫຼື ລາຍການຂອງຕົວປ່ຽນສະພາບແວດລ້ອມ.
ໄວຍາກອນ
ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ ຖືກກຳນົດໂດຍກົດເກນ condition: decision ໜຶ່ງຢ່າງ ຫຼື ຫຼາຍກວ່າ.
ຕົວດຳເນີນການທີ່ອະນຸຍາດຄື: = == != < <= > >= &&. ສິ່ງໃດກໍຕາມທີ່ຢູ່ຫຼັງເຄື່ອງໝາຍ # ຈະຖືວ່າເປັນຄຳອະທິບາຍ ແລະ ຈະຖືກລະເວັ້ນ.
ທຸກຢ່າງບໍ່ຈຳແນກຕົວອັກສອນພິມໃຫຍ່ພິມນ້ອຍ. ກົດເກນທຳອິດທີ່ກົງກັນຈະຖືກນຳໃຊ້ (ການປະເມີນຄວາມກ່ຽວຂ້ອງຈະສິ້ນສຸດທັນທີ, ສ່ວນກົດເກນທີ່ເຫຼືອຈະຖືກລະເວັ້ນ).
ຄ່າເລີ່ມຕົ້ນ
ຖ້າບໍ່ມີການກຳນົດກົດເກນ, ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບຈະມີຄ່າເລີ່ມຕົ້ນເປັນ True, ນັ້ນຄື ກໍລະນີທົດສອບນັ້ນກ່ຽວຂ້ອງ ແລະ ຄວນຖືກປະຕິບັດ.
ສະພາບແວດລ້ອມ
ພາລາມິເຕີທີ່ຍອມຮັບໄດ້ສຳລັບການກຳນົດສະພາບແວດລ້ອມຄື:
- product (ຜະລິດຕະພັນ)
-
ຊື່ຜະລິດຕະພັນ (rhel rhel-5 rhel-5.6 rhdts rhscl)
- distro (ດີສໂຕຣ)
-
ການແຈກຢາຍລະບົບ (rhel-6 rhel-6.3 rhscl-1.0.0 f-28)
- variant (ຮຸ່ນຍ່ອຍ)
-
ຮຸ່ນຍ່ອຍຂອງດີສໂຕຣ (Client Desktop Server Workstation)
- arch (ສະຖາປັດຕະຍະກຳ)
-
ສະຖາປັດຕະຍະກຳ (i386 ppc64 s390x x86_64)
- collection (ຊຸດສະສົມ)
-
ຊຸດສະສົມຊອບແວ (python27 python33 perl516…)
- component (ອົງປະກອບ)
-
ອົງປະກອບທີ່ຈະທົດສອບ (php, apache, …)
ໃນຂະນະທີ່ distro ຖືກນຳໃຊ້ສະເໝີເພື່ອລະບຸລະບົບປະຕິບັດການທີ່ຊອບແວຄວນຈະເຮັດວຽກ, ແຕ່ product ແມ່ນໃຊ້ເພື່ອອະທິບາຍຜະລິດຕະພັນເປົ້າໝາຍທີ່ລູກຄ້າສະໝັກນຳໃຊ້ (ອາດເປັນຜະລິດຕະພັນທີ່ຊ້ອນຢູ່ເທິງ RHEL ເຊັ່ນ RHSCL, ຫຼື RHEL ເອງ ຖ້າອົງປະກອບນັ້ນລວມຢູ່ໃນລະບົບປະຕິບັດການໂດຍກົງ).
ການປຽບທຽບດີສໂຕຣ (Distro) ເຮັດວຽກໃນສອງໂໝດ:
- ໂໝດຫຼັກ (Major mode)
-
ເມື່ອປຽບທຽບກັບເວີຊັນຫຼັກ ເຊັ່ນ
distro < rhel-6ເວີຊັນຫຼັກອື່ນໆຈະຖືກນຳມາພິຈາລະນາ (ກົງກັບrhel-3 rhel-4 rhel-5ໃດໜຶ່ງ). - ໂໝດຮອງ (Minor mode)
-
ຖ້າເວີຊັນຮອງຖືກລະບຸໄວ້ນຳ ເຊັ່ນ
distro < rhel-6.3, ການປຽບທຽບຈະເຮັດຂຶ້ນສະເພາະພາຍໃນເວີຊັນຫຼັກນັ້ນເທົ່ານັ້ນ (ກົງກັບrhel-6.0 rhel-6.1 rhel-6.2).
ກົດເກນທີ່ມີພາລາມິເຕີສະພາບແວດລ້ອມທີ່ບໍ່ຮູ້ຈັກໃນເວລາປະເມີນຈະຖືກຂ້າມໄປ.
ການຕັດສິນໃຈ
ສ່ວນ decision ຂອງກົດເກນສາມາດມີຄ່າດັ່ງຕໍ່ໄປນີ້:
- True
-
ກໍລະນີທົດສອບກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມທີ່ກຳນົດ
- False
-
ກໍລະນີທົດສອບບໍ່ກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມນີ້
- A=X B=Y C=Z
-
ກໍລະນີທົດສອບກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມທີ່ຖືກປັບປ່ຽນ
ຕົວເລືອກສຸດທ້າຍຂ້າງເທິງ ຊ່ວຍໃຫ້ສາມາດປັບສະພາບແວດລ້ອມທີ່ຈະໃຊ້ປະຕິບັດກໍລະນີທົດສອບ ໂດຍການລະບຸລາຍການຕົວປ່ຽນສະພາບແວດລ້ອມທີ່ຈະສົ່ງໄປຫາການທົດສອບ.
ຄ່າການຕັດສິນໃຈອາດຈະຖືກລະເວັ້ນໄດ້. ໃນກໍລະນີດັ່ງກ່າວ ຈະໃຊ້ຄ່າ True ເປັນຄ່າເລີ່ມຕົ້ນ. ດັ່ງນັ້ນ ສອງແຖວນີ້ນິຍາມຄວາມກ່ຽວຂ້ອງທີ່ຄືກັນ:
distro > rhel-7: True distro > rhel-7
ຕົວຢ່າງ
mod_wsgi ກ່ຽວຂ້ອງກັບ RHEL6 ແລະ ໃໝ່ກວ່າ:
distro < rhel-6: False
busybox ບໍ່ມີໃຫ້ໃຊ້ສຳລັບ s390x ເທິງ RHEL6:
arch = s390x && distro = rhel-6: False
perl-Config-General ບໍ່ມີຢູ່ໃນຮຸ່ນຍ່ອຍ Client:
variant = Client: False
ປະຕິບັດການທົດສອບ python unit ພາຍໃຕ້ valgrind ໃນສະຖາປັດຕະຍະກຳທີ່ເໝາະສົມເທົ່ານັ້ນ:
arch = ia64: PHASES=novalgrind arch = s390x && distro < rhel-6: PHASES=novalgrind
ອົງປະກອບໃໝ່ python-ctypes ຖືກເພີ່ມເຂົ້າໃນ rhel-5.8:
distro < rhel-5: False distro < rhel-5.8: False
Exim ມີໃຫ້ໃຊ້ສະເພາະໃນ RHEL5 ເທົ່ານັ້ນ:
distro != rhel-5: False
Want to help? Learn how to contribute to Fedora Docs ›