คุณจะทดสอบหน่วยแอปพลิเคชันและรหัส UI ได้อย่างไร


10

ฉันรักการเขียนการทดสอบหน่วยและยอมรับว่าพวกเขาเป็นวิธีที่ยอดเยี่ยมในการทดสอบรหัสป้องกันการถดถอย ฯลฯ อย่างไรก็ตามฉันพบว่าตัวเองไม่สามารถเขียนได้มากเท่าที่รหัสส่วนใหญ่ที่ฉันใช้ในวันและวันหยุดเป็นแอปพลิเคชัน รหัสที่แสดง UI ให้กับผู้ใช้ มีวิธีที่ดีในการทดสอบรหัสแอปพลิเคชันหน่วยหรือไม่ แนวปฏิบัติที่ดีที่สุดที่นี่มีอะไรบ้าง

ฉันไม่ได้มองหาคำตอบที่เฉพาะเจาะจงเช่นกรอบงาน แต่โดยทั่วไปแล้วคุณจะเข้าถึงปัญหานี้อย่างไร


"รหัสแอปพลิเคชันที่แสดง UI" คืออะไร คุณกำลังพูดถึง C ใน MVC หรือไม่?
Martin Wickman

ฉันกำลังพูดถึงอินเทอร์เฟซแบบกราฟิกชนิดใดก็ได้ - JavaScript / HTML, C ++ พร้อม MFC, WinForms, WPF, ฯลฯ ...
Justin Ethier

MVVM นั้นง่ายต่อการทดสอบหน่วย ดูรูปแบบคำสั่ง
Amir Rezaei

@amir - คุณมีข้อมูลอ้างอิงหรือข้อมูลเพิ่มเติมหรือไม่
Justin Ethier

คำตอบ:


8

ในการทดสอบอินเทอร์เฟซผู้ใช้จริงซีลีเนียมทำงานได้ดี

หากคุณต้องการทดสอบหน่วยที่แท้จริงกลยุทธ์ของคุณคือการผลักตรรกะกลับมาจากส่วนติดต่อผู้ใช้จริงมากที่สุดโดยทั่วไปแล้วในวัตถุ ViewModel จากนั้นคุณสามารถเขียนการทดสอบหน่วยกับวัตถุ ViewModel

กล่าวอีกนัยหนึ่งให้วางตรรกะเล็ก ๆ น้อย ๆ ใน UI จริงที่สุดเท่าที่จะเป็นไปได้เพื่อให้การทดสอบหน่วยสามารถเกิดขึ้นที่อื่นได้


นั่นเป็นการออกแบบที่ดีสำหรับ SoC ไม่ควรมีโดเมน / ตรรกะทางธุรกิจใน UI ตรรกะของไคลเอ็นต์จำนวนมาก - การโต้ตอบ / การตรวจสอบสามารถเข้าไปใน UI ด้วย JavaScript ซึ่งเป็นหน่วยที่ทดสอบได้
StuperUser

1

ฉันประสบความสำเร็จกับการทดสอบหน่วยแอปพลิเคชันของฉันด้วย MSTest และทดสอบ Javascript ของฉันด้วยQUnitและรับผลลัพธ์การทดสอบเหล่านั้นด้วยการทดสอบหน่วย MSTest เดียวที่ใช้WatiN (ฉันแนะนำSeleniumซึ่งมีความสามารถในการบันทึกการทดสอบด้วยเช่นกัน พบ WatiN ได้ดีกว่าสำหรับการทำให้เป็นอัตโนมัติโดยอัตโนมัติ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.