Senfgurke เป็นกรอบการทดสอบที่ขับเคลื่อนด้วยตัวอย่างสำหรับ VBA สิ่งนี้หมายความว่าอย่างไร? การใช้ Senfgurke คุณสามารถเปลี่ยนตัวอย่างที่ให้มาในภาษาธรรมชาติให้กลายเป็นการทดสอบอัตโนมัติที่ดำเนินการโดย VBA (Visual Basic for Applications)
ระวัง! นี่คืองานระหว่างดำเนินการ เวอร์ชันในอนาคตอาจทำให้โค้ดทดสอบอัตโนมัติของคุณเสียหายจากเวอร์ชันเก่า!
ลองนึกภาพว่ามีคนขอให้คุณเขียนฟังก์ชันผลรวม "พิเศษ" ใหม่สำหรับ Excel ซึ่งจะบวกค่า 1 เข้ากับผลลัพธ์โดยให้ตัวอย่างนี้แก่คุณ:
Example: add +1 to sum
Given a is 2
And b is 3
When sum+1 is applied to a and b
Then the result is 6
ตอนนี้คุณสามารถเพิ่มตัวอย่างนี้ให้กับฟีเจอร์และบันทึกทุกอย่างในไฟล์ชื่อ 'sum_plus_one.feature' ลงในไดเร็กทอรีชื่อ 'features' ไดเรกทอรีควรอยู่ในตำแหน่งเดียวกับไฟล์ office ของคุณที่มีรหัส VBA ของคุณ
หากคุณเรียกใช้ Senfgurke ในครั้งแรก ระบบจะแนะนำให้คุณเพิ่มฟังก์ชันใหม่ดังนี้:
Public Sub Given_a_is_INT_C722764574FB(step_parameters As Collection)
'Given a is 2
End Sub
โปรดอย่าสับสนกับส่วน C722764574FB ของชื่อฟังก์ชัน ค่าแฮชนี้ช่วยให้ Senfgurke จับคู่ฟังก์ชันกับขั้นตอนดั้งเดิมจากตัวอย่าง ตอนนี้ก็ขึ้นอยู่กับคุณแล้วที่จะเติมโค้ดลงในฟังก์ชัน เพื่อที่คุณจะได้ทดสอบฟังก์ชันใหม่เพื่อให้แน่ใจว่าผลรวม +1 จะส่งกลับผลลัพธ์ที่ถูกต้อง
เมื่อคุณทำซ้ำสิ่งนี้ในทุกขั้นตอนของตัวอย่างและเรียกใช้ Senfgurke คุณอาจได้รับสิ่งนี้บนคอนโซล:
Feature: sum plus one
Rule: add one to sum results
Example: add +1 to sum
OK Given a is 2
OK And b is 3
OK When sum+1 is applied to a and b
OK Then the result is 6
วิธีนี้ Senfgurke จะบอกคุณว่ารหัสของคุณสำเร็จหรือทำให้เกิดข้อผิดพลาดหรือไม่
Senfgurke มีให้เป็น Addin เฉพาะแอปพลิเคชัน วิธีนี้ทำให้คุณสามารถแยกแอปพลิเคชันภายใต้การทดสอบและกรอบการทดสอบ Senfgurke ได้อย่างง่ายดาย หากต้องการเริ่มแอปพลิเคชัน VBA ใหม่ ให้ทำตามขั้นตอนเหล่านี้:
แผนผังเหตุการณ์ต่อไปนี้จะอธิบายสิ่งที่จะเกิดขึ้นเมื่อคุณขอให้ Senfgurke ดำเนินการคุณสมบัติของคุณ
การทดสอบมักจะเริ่มต้นจากหน้าต่างคอนโซล VBA วิธีนี้ทำให้คุณสามารถเพิ่มแท็กหรือตัวกรอง (สำหรับชื่อไฟล์) เพื่อจำกัดการทดสอบการทำงานเฉพาะแท็กหรือไฟล์คุณลักษณะเฉพาะ
สิ่งแรกที่ Senfgurke จะทำคือค้นหาไฟล์ฟีเจอร์และโหลดลงในหน่วยความจำเพื่อการประมวลผลในภายหลัง
การมีคุณสมบัติทั้งหมดในหน่วยความจำช่วยให้ Senfgurke แปล (แยกวิเคราะห์) ภาษา Gherkin เป็นคำแนะนำโดยละเอียดได้ง่ายขึ้นสำหรับการดำเนินการในภายหลัง เช่น ตัวอย่างที่ไม่มีแท็กที่ตรงกันที่ตั้งค่าไว้ในการเริ่มการทดสอบอาจถูกละเว้นสำหรับการดำเนินการในภายหลัง หรือขั้นตอนเบื้องหลังจากคุณลักษณะจะถูกเพิ่มลงในทุกตัวอย่าง (หรือที่เรียกว่าสถานการณ์) ในคุณลักษณะนี้
ขั้นตอนต่อไปคือการดำเนินการตามคำแนะนำการดำเนินการโดยละเอียดทั้งหมดจากขั้นตอนก่อนหน้าอย่างชัดเจน ซึ่งจะรวมถึงการส่งคืนผลลัพธ์ทั้งหมดจากการดำเนินการด้วย
ควบคู่ไปกับการดำเนินการตามคุณสมบัติที่กล่าวถึงข้างต้น ผลลัพธ์จะถูกรายงานในรูปแบบที่แตกต่างกัน ค่าเริ่มต้นคือรูปแบบรายละเอียดซึ่งเขียนคุณลักษณะ Gherkin ลงในหน้าต่างคอนโซล VBA โดยเพียงเพิ่มผลการดำเนินการลงในแต่ละขั้นตอนของตัวอย่าง
เมื่อสิ้นสุดการทดสอบทุกครั้ง Senfgurke จะเพิ่มสถิติบางอย่าง เช่น ระยะเวลาและจำนวนขั้นตอนตัวอย่างที่ดำเนินการ
สำหรับเอกสารประกอบโดยละเอียดเพิ่มเติม โปรดดูไฟล์คุณลักษณะสำหรับ Senfgurke โดยเริ่มจากดัชนีที่สร้างโดย Feature Indexer
แผนภาพบล็อก FMC แสดงให้เห็นว่าการตั้งค่าทั่วไปประกอบด้วยสามชั้น:
ดูบันทึกการตัดสินใจทางสถาปัตยกรรมสำหรับการตัดสินใจทั่วไปบางประการ
สถาปัตยกรรมแบบเลเยอร์จะต้องให้แน่ใจว่าฟังก์ชันการทำงานที่ Senfgurke มอบให้นั้นแยกออกจากตรรกะของแอปพลิเคชัน
แจ้งภายหลัง