ขณะนี้ฉันกำลังทำการทดสอบหน่วยที่ดำเนินการจากการทุบตี การทดสอบหน่วยจะเริ่มต้นใช้งานและทำความสะอาดในสคริปต์ทุบตี สคริปต์นี้เป็นปกติมีฟังก์ชัน init (), execute () และ cleanup () แต่พวกเขาไม่ได้บังคับ ฉันต้องการทดสอบว่าพวกเขาเป็นหรือไม่ได้กำหนดไว้
ก่อนหน้านี้ฉันทำแบบนี้โดยการ greping และ seding แหล่งที่มา แต่ดูเหมือนว่าผิด มีวิธีที่สง่างามกว่านี้หรือไม่?
แก้ไข: sniplet ต่อไปนี้ทำงานเหมือนเครื่องราง:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -t
==
type test_function
บอกว่าtest_function on funktio.
เมื่อใช้ภาษาฟินแลนด์และist eine Funktion
เมื่อใช้ภาษาเยอรมัน
LC_ALL=C
ต้องทนความร้อน
fn_exists foo || foo() { :; }