ข้อควรสนใจ: ก่อนที่จะเริ่มงาน คุณควรตรวจสอบให้แน่ใจว่าคุณได้กำหนดค่าสภาพแวดล้อมการทำงานแล้ว กล่าวคือ:
ขอแนะนำให้ใช้ Vagrant และเครื่องเสมือน Homestead รายละเอียดเพิ่มเติมที่นี่: https://laravel.com/docs/5.8/homestead
การติดตั้งจะแสดงในสภาพแวดล้อมการทำงานของ OS Linux:
git clone [email protected]:BinaryStudioAcademy/bsa-2019-php-1.git
cd bsa-2019-php-1
composer install
งานทั้งหมดจะถูกแบ่งออกเป็นโฟลเดอร์ภายใน /src
ในกรณีส่วนใหญ่ งานของคุณคือการเสริมโค้ดที่มีอยู่ด้วยฟังก์ชันที่ขาดหายไป ชุดข้อมูลสำหรับแต่ละงานจะถูกกำหนดอย่างเคร่งครัดเพื่อวัตถุประสงค์ในการตรวจสอบในการทดสอบ
ในงานแรก (Task1) คุณต้องทำงานร่วมกับนักสู้ Street Fighter
คุณต้องสร้างนักสู้ตามคลาส Fighter
และใช้ข้อมูลบางส่วนจากตาราง
ชื่อ | ภาพ |
---|---|
ริว | https://bit.ly/2E5Pouh |
ชุนหลี | https://bit.ly/2Vie3lf |
เคน มาสเตอร์ส | https://bit.ly/2VZ2tQd |
ถัดไปคุณต้องทำงานกับคลาส FightArena
โดยใช้วิธีการต่างๆ
add
all
mostPowerful
(โจมตีมากขึ้น แต่พลังชีวิตน้อยลง)mostHealthy
(โจมตีน้อยลง แต่มีพลังชีวิตมากขึ้น)คุณสามารถตรวจสอบตัวเองได้ด้วยการเรียกใช้:
./vendor/bin/phpunit --testsuite task1
ในงานที่สอง (Task2) คุณต้องใช้ตัวสร้างแบบง่าย (โดยใช้ yield
) ที่ส่งคืนอิโมจิต่อไปนี้:
-
ในการดำเนินการนี้ คุณต้องใช้วิธี generate
ในคลาส EmojiGenerator
คุณสามารถตรวจสอบตัวเองได้ด้วยการเรียกใช้:
./vendor/bin/phpunit --testsuite task2
ในงานที่สาม (งาน 3) เราจะฝึกหัดกับเว็บเซิร์ฟเวอร์ PHP ในตัว งานของคุณคือแสดงรายการนักสู้ที่คุณสร้างในงานที่ 1 และแสดงหน้าโดยใช้เว็บเซิร์ฟเวอร์ในตัว
ในการดำเนินการนี้ คุณจะต้องกรอกข้อมูลในเวทีการต่อสู้ในไฟล์ index.php
และใช้วิธี present
ของคลาส FightArenaHtmlPresenter
ตามโค้ดทดสอบสำหรับงาน
หากคุณใช้ Homestead คุณต้องหยุด nginx
ก่อน
sudo pkill nginx
จากนั้นเริ่มเว็บเซิร์ฟเวอร์ในตัว:
php -S 0.0.0.0:80 -t ./src/Task3
อาจจำเป็นต้องใช้คำสั่ง "sudo php -S 0.0.0.0:80 -t ./src/Task3"
หน้าจะพร้อมใช้งานในเบราว์เซอร์ที่:
http://192.168.10.10:80 - หากคุณใช้โฮมสเตด
http://127.0.0.1:80 - หากคุณเรียกใช้จากเครื่องท้องถิ่น
โค้ดบางส่วนมีอยู่แล้วในไฟล์ index.php
คุณสามารถตรวจสอบตัวเองได้ด้วยการเรียกใช้:
./vendor/bin/phpunit --testsuite task3
คุณอาจสังเกตเห็นแล้วว่าเราใช้ PHPUnit เพื่อตรวจสอบงาน นี่เป็นสิ่งจำเป็นเพื่อตรวจสอบว่าโซลูชันของคุณตรงตามความคาดหวังของเราหรือไม่ (ข้อกำหนดที่เสนอ) หากคุณไม่คุ้นเคยกับ PHPUnit มาก่อนก็ไม่ต้องกังวล เราจะดูรายละเอียดเพิ่มเติมนี้ในการบรรยายครั้งต่อไป
ในขั้นตอนนี้ คุณสามารถสันนิษฐานได้ว่านี่เป็นเพียงการตรวจสอบอัตโนมัติ (เช่น บน codewars.com)
ในตอนแรกการทดสอบทั้งหมดจะเป็น "สีแดง" เช่น แตกหัก. เพื่อให้สามารถใช้งานได้ (สีเขียว) และไม่มีข้อผิดพลาด คุณจะต้องใช้วิธีแก้ไขปัญหาที่จำเป็น
กำไรจากการทดสอบคืออะไร?
อะไรไม่ควรทำ
ดำเนินการทดสอบทั้งหมด:
./vendor/bin/phpunit
ดำเนินการทดสอบสำหรับงานเฉพาะ:
./vendor/bin/phpunit --testsuite task1
ตามหลักการแล้ว คุณควรวางโซลูชันของคุณในพื้นที่เก็บข้อมูลแยกต่างหากบน Github หรือ Bitbucket และส่งลิงก์ไปยังโซลูชันนั้น
ถามคำถามในความคิดเห็นต่องานหากคุณมีปัญหาใด ๆ
ห้าม ทำการฟอร์จ พื้นที่เก็บข้อมูลนี้ !