virtool เป็นแอปพลิเคชันบนเว็บสำหรับการวินิจฉัยการติดเชื้อของเชื้อโรคโดยใช้การจัดลำดับปริมาณงานสูง
เว็บไซต์: https://www.virtool.ca
ดูเอกสารประกอบ virtool เพื่อเริ่มต้นใช้งาน virtool 4.0.0 เวอร์ชันล่าสุด
ขณะนี้ virtool กำลังอยู่ระหว่างการเปลี่ยนแปลงครั้งใหญ่ไปเป็นแอปพลิเคชันแบบคลาวด์เนทีฟ ซึ่งหมายความว่า virtool สามารถขยายการทำงานข้ามโฮสต์หลาย ๆ ตัวและทำงานแบบเนทีฟใน Kubernetes และผู้ให้บริการคลาวด์สาธารณะ
สำหรับผู้ใช้และผู้ดูแลระบบปัจจุบัน:
ในรูทไดเร็กทอรีต้นทาง:
เริ่มบริการสำรองข้อมูลที่จำเป็นใน Docker
docker compose -f tests/docker-compose.yml -p virtool -test up -d
เรียกใช้ชุดทดสอบ:
poetry run pytest
ชุดทดสอบทำงานร่วมกับ pytest-xdist
poetry run pytest -n 4
ซึ่งจะใช้กระบวนการ Python หลายกระบวนการเพื่อทำการทดสอบแบบขนาน
เราใช้ Syrupy สำหรับการทดสอบสแนปช็อต
สแน็ปช็อตใช้สำหรับการทดสอบที่เราต้องการยืนยันว่าอ็อบเจ็กต์ (เช่น บันทึกฐานข้อมูล, อ็อบเจ็กต์ Pydantic, การตอบสนองของ API) มีรูปร่างและชุดของค่าที่คาดหวัง
หากจำเป็นต้องอัปเดตสแนปชอต:
poetry run pytest <path_to_test_file> --su
คุณสามารถระบุให้เจาะจงยิ่งขึ้นด้วยการระบุคลาสหรือฟังก์ชันการทดสอบ:
poetry run pytest <path_to_test_file>::<class_or_function>
ระบุให้เจาะจงเสมอเกี่ยวกับสแนปชอตที่คุณกำลังอัปเดต อย่าสุ่มสี่สุ่มห้าอัปเดตไฟล์สแน็ปช็อตจำนวนมากเพียงเพื่อให้การทดสอบของคุณผ่าน
การคอมมิตทั้งหมดจะต้องเป็นไปตามข้อกำหนด Conventional Commits
ข้อความคอมมิตที่เป็นมาตรฐานเหล่านี้ใช้เพื่อเผยแพร่รีลีสโดยอัตโนมัติโดยใช้ semantic-release
หลังจากที่คอมมิตถูกรวมเข้ากับ main
จาก PR ที่ประสบความสำเร็จ
ตัวอย่าง
feat: add API support for assigning labels to existing samples
จำเป็นต้องมีเนื้อหาและส่วนท้ายที่สื่อความหมายเพื่ออธิบายผลกระทบของการคอมมิต ใช้กระสุนตามความเหมาะสม
ข้อกำหนดเพิ่มเติม
จาก Tim Pope: หมายเหตุเกี่ยวกับข้อความ Git Commit