12
วิธีเขียนการทดสอบหน่วยสำหรับ Angular / TypeScript สำหรับวิธีการส่วนตัวด้วย Jasmine
คุณจะทดสอบฟังก์ชั่นส่วนตัวในเชิงมุม 2 ได้อย่างไร class FooBar { private _status: number; constructor( private foo : Bar ) { this.initFooBar(); } private initFooBar(){ this.foo.bar( "data" ); this._status = this.fooo.foo(); } public get status(){ return this._status; } } ทางออกที่ฉันพบ วางรหัสทดสอบไว้ในส่วนปิดหรือเพิ่มรหัสภายในส่วนที่ปิดซึ่งเก็บการอ้างอิงถึงตัวแปรโลคัลบนวัตถุที่มีอยู่ในขอบเขตด้านนอก ถอดแถบทดสอบออกโดยใช้เครื่องมือในภายหลัง http://philipwalton.com/articles/how-to-unit-test-private-functions-in-javascript/ โปรดแนะนำวิธีที่ดีกว่าในการแก้ปัญหานี้หากคุณทำสิ่งใดไปแล้ว? PS คำตอบส่วนใหญ่สำหรับคำถามที่คล้ายกันเช่นนี้ไม่ได้แก้ปัญหานั่นคือเหตุผลที่ฉันถามคำถามนี้ นักพัฒนาส่วนใหญ่บอกว่าคุณไม่ได้ทดสอบฟังก์ชั่นส่วนตัว แต่ฉันไม่ได้บอกว่ามันผิดหรือถูก แต่มีความจำเป็นที่เคสของฉันจะต้องทดสอบความเป็นส่วนตัว