dingus

ภาพหน้าจอของซอฟแวร์:
dingus
รายละเอียดซอฟแวร์:
รุ่น: 0.3.4
วันที่อัพโหลด: 14 Apr 15
ผู้พัฒนา: Gary Bernhardt
การอนุญาต: ฟรี
ความนิยม: 12

Rating: nan/5 (Total Votes: 0)

Dingus เป็นประเภทเช่นวัตถุจำลอง แตกต่างที่สำคัญคือการที่คุณไม่ได้ตั้งค่าความคาดหวังก่อนเวลา คุณเพียงแค่เรียกใช้รหัสของคุณโดยใช้ Dingus ตำแหน่งของวัตถุหรือระดับอื่นและจะบันทึกสิ่งที่เกิดขึ้นมัน จากนั้นเมื่อรหัสของคุณได้รับการออกกำลังกายที่คุณสามารถทำให้ยืนยันเกี่ยวกับสิ่งที่มันทำกับ Dingus
Dingus ใหม่จะถูกสร้างขึ้นจากชั้น Dingus คุณสามารถให้ชื่อ dinguses ซึ่งจะช่วยให้มีการแก้จุดบกพร่องการทดสอบของคุณโดยเฉพาะอย่างยิ่งเมื่อมีหลาย dinguses ในการเล่น
& nbsp; >>> นำเข้าจาก Dingus Dingus
& nbsp; >>> D = Dingus ('ราก')
& nbsp; >>> ง
& nbsp; <ราก Dingus>
การเข้าถึงแอตทริบิวต์ของ Dingus ใด ๆ ที่จะกลับ Dingus ใหม่
& nbsp; >>> d.something
& nbsp;
มีข้อยกเว้นบางประการสำหรับวิธีการ Dingus พิเศษ เราจะเห็นบางอย่างในบิต
Dingus ยังสามารถเรียกว่าเช่นฟังก์ชั่นหรือวิธีการ มันไม่สนใจว่าหลายข้อโต้แย้งคุณให้มันหรือสิ่งที่ผู้ที่มีข้อโต้แย้ง โทรไป Dingus มักจะกลับวัตถุเดียวกันโดยไม่คำนึงถึงข้อโต้แย้ง
& nbsp; >>> ง ()
& nbsp; <ราก Dingus ()>
& nbsp; >>> ง ('อาร์กิวเมนต์')
& nbsp; <ราก Dingus ()>
& nbsp; >>> ง (55)
& nbsp; <ราก Dingus ()>
บันทึกและยืนยัน
เมื่อใดก็ตามที่เราสามารถได้รับรายชื่อของสายที่ได้รับการสร้างขึ้นมาเพื่อ Dingus แต่ละรายการในรายการโทรมี:
& nbsp; * ชื่อของวิธีการที่เรียกว่า (หรือ "()" ถ้า Dingus ถูกเรียกตัวเอง)
& nbsp; * ข้อโต้แย้งหรือ () ถ้าไม่มี
& nbsp; * argumnets คำหรือ {} ถ้าไม่มี
& nbsp; * ค่าที่ถูกส่งกลับไปยังผู้โทร
นี่คือรายการของสายที่เราได้สร้างขึ้นมาเพื่องเพื่อให้ห่างไกลคือ
& nbsp; >>> จากการนำเข้า pprint pprint
& nbsp; >>> pprint (d.calls)
& nbsp; [('()' () {} )
& nbsp; ('()' ('อาร์กิวเมนต์') {} )
& nbsp; ('()', (55) {} )]
คุณสามารถกรองโทรตามชื่อข้อโต้แย้งและข้อโต้แย้งคำสำคัญ:
& nbsp; >>> pprint (d.calls ('()', 55))
& nbsp; [('()', (55) {} )]
ถ้าคุณไม่สนใจเกี่ยวกับค่าอาร์กิวเมนต์โดยเฉพาะอย่างยิ่งของคุณสามารถใช้ DontCare ค่าเมื่อกรอง:
& nbsp; >>> นำเข้าจาก Dingus DontCare
& nbsp; >>> pprint (d.calls ('()', DontCare))
& nbsp; [('()' ('อาร์กิวเมนต์') {} )
& nbsp; ('()', (55) {} )]
Dinguses สามารถทำมากกว่าเพียงแค่มีแอตทริบิวต์เข้าถึงและได้รับการเรียกว่า พวกเขาสนับสนุนผู้ประกอบการหลายหลาม เป้าหมายคือการให้และการบันทึกการปฏิสัมพันธ์ใด ๆ
& nbsp; >>> D = Dingus ('ราก')
& nbsp; >>> (2 ** d.something) ['สวัสดี'] () / 100 * 'foo'
& nbsp;
(หวังว่าบันทึก Dingus โลกแห่งความจริงของคุณจะไม่ได้มีลักษณะเช่นนี้!)
patching
Dingus ให้ผู้จัดการบริบทสำหรับ patching วัตถุในระหว่างการทดสอบ ตัวอย่างเช่น:
& nbsp; >>> จากแพทช์นำเข้า Dingus
& nbsp; >>> นำเข้า urllib2
& nbsp; >>> กับแพทช์ ('urllib2.urlopen'):
& nbsp; ... พิมพ์ urllib2.urlopen .__ class__
& nbsp; <คลาส 'dingus.Dingus'>
& nbsp; >>> พิมพ์ urllib2.urlopen .__ class__
& nbsp; <ชนิด 'ฟังก์ชั่น'>
นอกจากนี้คุณยังสามารถใช้เป็นมัณฑนากรเกี่ยวกับวิธีการทดสอบของคุณ:
& nbsp; >>> @patch ('urllib2.urlopen')
& nbsp; ... def test_something (ตัวเอง):
& nbsp; ... ผ่าน
& nbsp; ...
MAGIC อันตราย
Dingus ยังสามารถแทนที่ Globals โมดูลเมื่อใช้ทดสอบ นี้ช่วยให้คุณเขียนทดสอบหน่วยที่แยกได้อย่างเต็มที่ ดูตัวอย่าง / urllib2 / test_urllib2.py ตัวอย่างเช่น ผู้เขียนไม่ได้แนะนำคุณลักษณะนี้เท่าที่จะสามารถกระตุ้นให้เกิดการทดสอบเปราะมาก คุณควรจะรู้สึกถึงความเจ็บปวดของการพึ่งพาตนเองเยาะเย้ย; . ความเจ็บปวดที่จะบอกคุณเมื่อระดับความร่วมมือกับคนอื่น ๆ มากเกินไป

ต้องการ

  • หลาม

ซอฟต์แวร์ที่คล้ายกัน

tempdir
tempdir

11 May 15

lava-core
lava-core

14 Apr 15

databene benerator
databene benerator

14 Apr 15

ซอฟแวร์อื่น ๆ ของนักพัฒนา Gary Bernhardt

expecter
expecter

20 Feb 15

ความคิดเห็นที่ dingus

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!
ค้นหาตามหมวดหมู่