คำถามติดแท็ก tdd

TDD หมายถึงการพัฒนาที่ขับเคลื่อนด้วยการทดสอบหรือการออกแบบที่ขับเคลื่อนด้วยการทดสอบ มันเป็นวิธีปฏิบัติของการเขียนการทดสอบหน่วยก่อนที่จะเขียนรหัสเพื่อตอบสนองมันในสิ่งที่เรียกว่าวงจร Red-Green-Refactor

3
ฉันจะทดสอบเสียงได้อย่างไร
ฉันได้สืบทอดโครงการขนาดเล็กและต้องการขยายและทำให้เสถียรในเวลาเดียวกันโดยการเขียนการทดสอบหน่วยสำหรับรหัสใหม่ทั้งหมดที่ฉันเพิ่ม ชั้นแรกTypedAudioCreator, สร้างไฟล์เสียงและสิ่งนี้กลายเป็นเรื่องง่ายมากที่จะทดสอบก่อนและเขียนรหัสเป็นครั้งที่สอง อย่างไรก็ตามเมื่อถึงเวลาเขียนTypedAudioPlayerฉันไม่รู้ว่าจะทดสอบมันยังไง เป็นชั้นเรียนขนาดเล็กมากที่มุ่งเน้นไปที่พื้นฐานการเล่นเสียง: public class TypedAudioFilePlayer { public event StartedPlayingHandler StartedPlaying; public event StoppedPlayingHandler StoppedPlaying; public readonly int TimeBetweenPlays; private Queue<TypedAudioFile> _playlist = new Queue<TypedAudioFile>(); public TypedAudioFilePlayer(int timeBetweenPlays) { TimeBetweenPlays = timeBetweenPlays; } public void AddFile(TypedAudioFile file) { _playlist.Enqueue(file); } public void StartPlaying() { ThreadPool.QueueUserWorkItem(ignoredState => { while …
13 c#  tdd 

5
TDD การทดสอบใหม่ในขณะที่ยังไม่มีการใช้งาน
ฉันกำลังทดลองกับการพัฒนาโดยใช้การทดสอบและฉันพบว่าฉันมักจะเกิดสถานการณ์ต่อไปนี้: ฉันเขียนการทดสอบสำหรับการใช้งาน X การทดสอบเหล่านั้นล้มเหลว ในขณะที่พยายามใช้งาน X ฉันเห็นว่าฉันต้องใช้คุณลักษณะบางอย่าง Y ในเลเยอร์ที่ต่ำกว่าของรหัสของฉัน ดังนั้น... ฉันเขียนการทดสอบสำหรับ Y ตอนนี้การทดสอบทั้ง X และ Y ล้มเหลว เมื่อฉันมีคุณสมบัติ 4 อย่างในโค้ดเลเยอร์ต่าง ๆ ที่ใช้งานได้ในเวลาเดียวกันและฉันก็สูญเสียความสนใจในสิ่งที่ฉันกำลังทำจริง ๆ (การทดสอบจำนวนมากล้มเหลวในเวลาเดียวกัน) ฉันคิดว่าฉันสามารถแก้ปัญหานี้ได้โดยใช้ความพยายามมากขึ้นในการวางแผนงานของฉันก่อนที่ฉันจะเริ่มเขียนข้อสอบ แต่ในบางกรณีฉันไม่ทราบว่าฉันจะต้องไปให้ลึกกว่านี้เพราะเช่นฉันไม่รู้จัก API ของเลเยอร์ที่ต่ำกว่าเป็นอย่างดี ฉันควรทำอย่างไรในกรณีเช่นนี้? TDD มีคำแนะนำใด ๆ หรือไม่?

2
คงที่ไม่ดี แต่สิ่งที่เกี่ยวกับรูปแบบโรงงาน?
ฉันอยู่ในโครงการ TDD ดังนั้นฉันจึงพยายามยึดแนวทางที่ดีที่เกี่ยวข้องกับการพัฒนาประเภทนั้นให้มากที่สุด หนึ่งในนั้นคือหลีกเลี่ยงมากที่สุดคงที่และเป็นไปได้ทั่วโลก ฉันกำลังประสบปัญหานี้: ฉันมี "บทความ" วัตถุที่สามารถมี "ตัวเลือก" (เพิ่มเติม "บทความไมโคร") ที่เชื่อมโยงกับมัน ฉันไม่สามารถหาวิธีที่จะมีวิธีการที่ดีที่จะไม่ตอบโต้การผลิตหรือสร้างการสืบค้นมากเกินไปเพราะฉันจะอยู่ในสถานการณ์ที่ทุกอย่าง decoupled ดังนั้นโดยทั่วไปฉันจะต้องทำ 1 แบบสอบถามต่อวัตถุ จากมุมมองที่แท้จริงของฉันฉันเห็น 3 ตัวเลือก: 1) สร้างภายในบทความ: class Article { //[...] public function getArrOption(){ //Build an array of Options instance. //return an array of Options. } } Pro:ตรงไปข้างหน้า Const: Maintenability: ตอนนี้วัตถุบทความมีตรรกะการสร้างสำหรับวัตถุตัวเลือก ซึ่งอาจนำไปสู่การทำสำเนารหัส 2) การใช้ optionFactory …
13 php  tdd  static-access 

7
TDD ที่มีทรัพยากร จำกัด
ฉันทำงานใน บริษัท ขนาดใหญ่ แต่มีทีมงานชายเพียงสองคนที่พัฒนาแอพพลิเคชั่น LOB บนเดสก์ท็อป ฉันได้ทำการวิจัย TDD มาระยะหนึ่งแล้วและถึงแม้ว่ามันจะง่ายต่อการรับรู้ประโยชน์ของแอปพลิเคชันขนาดใหญ่ แต่ฉันมีเวลายากที่จะพิสูจน์ให้เห็นถึงเวลาที่จะเริ่มใช้ TDD ในระดับของแอปพลิเคชันของเรา ฉันเข้าใจข้อดีของมันในการทดสอบอัตโนมัติปรับปรุงการบำรุงรักษา ฯลฯ แต่ในระดับของเราการเขียนการทดสอบหน่วยขั้นพื้นฐานสำหรับส่วนประกอบทั้งหมดของเราสามารถเพิ่มเวลาการพัฒนาได้อย่างง่ายดายสองเท่า เนื่องจากเราถูกกำหนดเส้นตายที่รุนแรงแล้วฉันไม่แน่ใจว่าจะต้องไปทางไหน ในขณะที่การปฏิบัติอื่น ๆ เช่นการพัฒนาแบบวนซ้ำคล่องแคล่วทำให้สมบูรณ์แบบมาตั้งแต่ฉันรู้สึกขาดความสามารถในการเพิ่มผลผลิตของ TDD ในทีมเล็ก ๆ ข้อดีของ TDD นั้นคุ้มค่ากับการพัฒนาเป็นพิเศษสำหรับทีมเล็ก ๆ ที่มีตารางงานที่แน่นมากหรือไม่?
13 tdd 

4
จะทำอย่างไรเมื่อการทดสอบ TDD เปิดเผยการทำงานใหม่ที่จำเป็นต้องมีการทดสอบด้วย?
คุณจะทำอย่างไรเมื่อคุณเขียนข้อสอบและถึงจุดที่คุณต้องทำแบบทดสอบและคุณรู้ว่าคุณต้องการฟังก์ชั่นเพิ่มเติมที่ควรแยกออกมาเป็นหน้าที่ของตัวเอง? ฟังก์ชั่นใหม่นั้นจำเป็นต้องได้รับการทดสอบเช่นกัน แต่วัฏจักร TDD บอกว่าการทดสอบล้มเหลว หากฉันอยู่ในขั้นตอนที่ฉันพยายามทำให้ผ่านการทดสอบฉันไม่ควรออกไปและเริ่มการทดสอบที่ล้มเหลวอีกครั้งเพื่อทดสอบการทำงานใหม่ที่ฉันต้องนำไปใช้ ตัวอย่างเช่นฉันกำลังเขียนคลาสพอยต์ที่มีฟังก์ชั่นWillCollideWith ( LineSegment ) : public class Point { // Point data and constructor ... public bool CollidesWithLine(LineSegment lineSegment) { Vector PointEndOfMovement = new Vector(Position.X + Velocity.X, Position.Y + Velocity.Y); LineSegment pointPath = new LineSegment(Position, PointEndOfMovement); if (lineSegment.Intersects(pointPath)) return true; return false; } } …
13 unit-testing  tdd 

2
คุณจะทดสอบหน่วย \ ใช้วิธี TDD สำหรับโครงการ ETL และการรายงานได้อย่างไร
โครงการ ETL เป็นโครงการที่สร้างขึ้นโดยใช้เครื่องมือ ETL (ดึงข้อมูล - แปลง - โหลด) เช่น SSIS, PowerCenter เป็นต้น โดยทั่วไปจะเกี่ยวข้องกับการอ่านข้อมูลจากแหล่งภายนอกโหลดไปยังฐานข้อมูลการแสดงการแปลงและโหลดไปยังฐานข้อมูลสุดท้าย ตัวอย่างง่ายๆคือการใช้ SSIS เพื่ออ่านไฟล์ excel ที่เตรียมไว้โดยครูผู้สอนโดยใช้ SSIS และโหลดลงในฐานข้อมูล จากนั้นเขียนกระบวนงานที่เก็บไว้หรือแพ็คเกจ SSIS เพิ่มเติมเพื่อคำนวณคะแนนของนักเรียนแต่ละคนและโหลดข้อมูลนั้นลงใน data mart \ warehouse จากนั้นคุณสร้างกระบวนงานที่เก็บไว้ด้านบนของตลาดเพื่อสร้างผลลัพธ์ที่ใช้โดยเครื่องมือการรายงาน (SSRS \ Excel \ etc) เพื่อสร้างการแสดงภาพประกอบเพลง ฉันพยายามที่จะเข้าใจวิธีการใช้ TDD และการทดสอบหน่วยที่เหมาะสมในสถานการณ์นี้ การทดสอบสำหรับ ETL นั้นส่วนใหญ่เกี่ยวกับการทำให้มั่นใจว่าข้อมูลที่โหลดในตาราง staging ตรงกันคือเซ็ตย่อยที่ถูกต้องของข้อมูลจากแหล่งที่มา ดังนั้นการนำการทดสอบไปใช้จะนำไปสู่การใช้ ETL รุ่นมินิ ผลลัพธ์ของรายงาน SP ขึ้นอยู่กับข้อมูลในตารางด้วยตนเองดังนั้นจึงไม่มีชุดข้อมูลเอาต์พุตที่เสถียรโดยไม่ต้องมีฝันร้ายในการบำรุงรักษาแม้ว่าคุณจะสร้างฐานข้อมูลที่มีข้อมูลการทดสอบแบบสครับ ตัวอย่าง: …
12 unit-testing  sql  tdd 

4
จะรับ API เริ่มต้นได้อย่างไรโดยใช้ TDD
นี่อาจเป็นคำถามที่ค่อนข้างงี่เง่าเมื่อฉันได้ลองครั้งแรกที่ TDD ฉันชอบความรู้สึกมั่นใจและนำมาซึ่งโครงสร้างที่ดีกว่าของรหัสของฉัน แต่เมื่อฉันเริ่มนำไปใช้กับสิ่งที่ยิ่งใหญ่กว่าตัวอย่างของเล่นแบบชั้นเดียวฉันประสบปัญหา สมมติว่าคุณกำลังเขียนไลบรารีแปลก ๆ คุณรู้ว่าสิ่งที่ต้องทำคุณรู้วิธีทั่วไปที่ควรนำไปใช้ (สถาปัตยกรรมที่ชาญฉลาด) แต่คุณ "ค้นพบ" ที่คุณต้องทำการเปลี่ยนแปลง API สาธารณะของคุณในขณะที่คุณรหัส บางทีคุณต้องเปลี่ยนวิธีการส่วนตัวนี้เป็นรูปแบบกลยุทธ์ (และตอนนี้ต้องผ่านกลยุทธ์ที่เยาะเย้ยในการทดสอบของคุณ) บางทีคุณอาจวางความรับผิดชอบผิดที่นี่และที่นั่นและแบ่งชั้นที่มีอยู่ เมื่อคุณพัฒนาโค้ดที่มีอยู่ TDD ดูเหมือนจะดีมาก แต่เมื่อคุณเขียนทุกอย่างตั้งแต่เริ่มต้น API ที่คุณเขียนการทดสอบจะค่อนข้าง "พร่ามัว" เว้นแต่คุณจะออกแบบหน้าใหญ่ คุณจะทำอย่างไรเมื่อคุณทำการทดสอบ 30 ครั้งในวิธีที่มีการเปลี่ยนแปลงลายเซ็น (และสำหรับส่วนนั้นพฤติกรรม) ที่เปลี่ยนแปลงไป นั่นคือการทดสอบมากมายที่จะเปลี่ยนแปลงเมื่อพวกเขารวมกัน
12 tdd 

3
วิธีการ TDD ว่าผลลัพธ์ที่ถูกต้องจะถูกส่งกลับ
ฉันเริ่มโครงการใหม่และพยายามอย่างหนักที่จะใช้ TDD เพื่อผลักดันการออกแบบ ฉันผลักดันมาหลายปีและในที่สุดก็ได้รับการอนุมัติให้ใช้เวลาเพิ่มในโครงการนี้เพื่อใช้ในขณะที่ฉันเรียนรู้วิธีการทำอย่างถูกต้อง นี่คือโมดูลใหม่เพื่อผูกเข้ากับระบบที่มีอยู่ ขณะนี้การเข้าถึงข้อมูลทั้งหมดเกิดขึ้นผ่าน webservices ซึ่งส่วนใหญ่เป็นเพียงกระดาษห่อหุ้มบาง ๆ ผ่านขั้นตอนการจัดเก็บฐานข้อมูล ข้อกำหนดหนึ่งคือสำหรับร้านค้าที่ระบุฉันส่งคืนใบสั่งซื้อทั้งหมดที่ถือว่าใช้ได้สำหรับแอปพลิเคชันนี้ ใบสั่งซื้อถือว่าสมบูรณ์ถ้าวันที่จัดส่งตรงกับช่วงที่กำหนดจากวันที่เปิดร้านค้า (สำหรับร้านค้าใหม่) ตอนนี้ฉันไม่สามารถใส่ตรรกะนี้ลงในรหัสแอปพลิเคชันได้เนื่องจากฉันจะไม่นำเงินคืน PO นับล้านเพื่อรับโหลที่ใช้กับสามารถนำไปใช้กับร้านนี้ได้เนื่องจากข้อ จำกัด ข้างต้น ฉันคิดว่าฉันสามารถส่งช่วงวันที่ไปยัง GetValidPOs proc และใช้ค่าเหล่านั้นเพื่อส่งคืน PO ที่ถูกต้อง แต่ถ้าเราเพิ่มข้อกำหนดอื่นให้กับสิ่งที่ถือว่าเป็น PO ที่ถูกต้อง และฉันจะทดสอบสิ่งนี้และตรวจสอบว่ามันยังทำงานได้อย่างไร เราไม่ได้ใช้ ORM และไม่น่าจะเกิดขึ้น และฉันไม่สามารถเรียก DB ในการทดสอบของฉันได้ ผมติดอยู่. ความคิดอื่นของฉันคือมี mocks บางตัวที่ส่งคืนข้อมูลที่ถูกต้องส่วนอื่น ๆ ที่ส่งคืนข้อมูลที่ไม่ดีและมีที่เก็บข้อมูลในตัวเครื่องเกิดข้อยกเว้นหากข้อมูลไม่ดีเกิดขึ้นและทดสอบว่าข้อผิดพลาดเกิดขึ้นหาก GetValidPOs proc ล้อเลียนที่ใช้ในการทดสอบ) มันสมเหตุสมผลหรือไม่ หรือมีวิธีที่ดีกว่า UPDATE: ฉันสามารถใช้ภาษา EF ได้ ตอนนี้ฉันเพียงแค่ต้องคิดหาวิธีการใช้และทำให้มันทดสอบได้ในขณะที่ยังสามารถพึ่งพาขั้นตอนการจัดเก็บและความยากลำบากในการมีข้อมูลกระจัดกระจายไปทั่วฐานข้อมูลหลายแห่ง

4
ตกลงเพื่อแนะนำวิธีการที่ใช้เฉพาะระหว่างการทดสอบหน่วยหรือไม่
เมื่อเร็ว ๆ นี้ฉันกำลังใช้วิธีการจากโรงงาน TDDing วิธีการคือการสร้างวัตถุธรรมดาหรือวัตถุห่อในมัณฑนากร วัตถุตกแต่งอาจเป็นหนึ่งในหลายประเภทที่ขยาย StrategyClass ในการทดสอบของฉันฉันต้องการตรวจสอบว่าคลาสของวัตถุที่ส่งคืนเป็นไปตามที่คาดไว้หรือไม่ มันง่ายมากที่จะส่งคืนอ็อบเจ็กต์ธรรมดา แต่จะทำอย่างไรเมื่อมันถูกห่อไว้ในมัณฑนากร? ฉันใช้รหัสใน PHP ดังนั้นฉันจึงสามารถใช้ext/Reflectionเพื่อหาคลาสของวัตถุที่ถูกห่อ แต่ดูเหมือนว่าฉันจะมีความซับซ้อนมากเกินไปและค่อนข้างกฎเกณฑ์ของ TDD แต่ฉันตัดสินใจที่จะแนะนำgetClassName()ว่าจะส่งคืนชื่อคลาสของวัตถุเมื่อถูกเรียกจาก StrategyClass เมื่อเรียกจากมัณฑนากรอย่างไรก็ตามมันจะคืนค่าที่ส่งคืนโดยวิธีเดียวกันในวัตถุที่ตกแต่ง รหัสบางอย่างเพื่อให้ชัดเจนยิ่งขึ้น: interface StrategyInterface { public function getClassName(); } abstract class StrategyClass implements StrategyInterface { public function getClassName() { return \get_class($this); } } abstract class StrategyDecorator implements StrategyInterface { private $decorated; public function …
12 php  tdd 

3
NUnit สำหรับ C # เปรียบเทียบกับเครื่องมือทดสอบหน่วยที่รวมเข้ากับ Visual Studio อย่างไร
ฉันต้องทำงานเป็นทีมเพื่อพัฒนาแอปพลิเคชั่นเดสก์ท็อประดับกลางที่พัฒนาโดยใช้ C # .NET ก่อนหน้านี้ฉันยังไม่ได้ใช้การทดสอบหน่วยและการพัฒนาขับเคลื่อนทดสอบ ฉันทราบว่ามีเครื่องมือและกรอบงานมากมายสำหรับแอปพลิเคชันการทดสอบหน่วย C # ณ ตอนนี้ฉันได้รับทราบถึง Nunit และเครื่องมือทดสอบหน่วยที่รวมเข้ากับ Visual Studio ฉันอยากรู้ว่าทั้งสองเปรียบเทียบกันอย่างไร

6
การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ - ใครควรเขียนการทดสอบ
เดิมทีมันเป็นหน้าที่ของนักพัฒนาในการเขียนการทดสอบ แต่ฉันสังเกตเห็นว่าในหลายกรณี / นักพัฒนา e-mature กรณีเหล่านั้นจะไม่ให้ความคุ้มครองถึง 80% ฉันมีคน QA ที่ทุ่มเทให้กับการเขียนการทดสอบทั้งหมดสำหรับโครงการที่กำหนดแทนที่จะเป็นนักพัฒนาได้อย่างไร มีข้อเสียใด ๆ หรือไม่?

2
การทดสอบ - ฐานข้อมูลในหน่วยความจำเทียบกับการเยาะเย้ย
เมื่อเขียนการทดสอบทำไมบางคนต้องการใช้ฐานข้อมูลในหน่วยความจำมากกว่าเพียงการล้อเลียนข้อมูล ฉันเห็นว่าฐานข้อมูลในหน่วยความจำอาจมีประโยชน์สำหรับการทดสอบคลังเก็บของ แต่ถ้าใช้เฟรมเวิร์ก (เช่น Spring Data) การทดสอบที่เก็บจะเป็นการทดสอบเฟรมเวิร์กไม่ใช่ตรรกะแอปพลิเคชัน อย่างไรก็ตามการเยาะเย้ยดูเหมือนจะเร็วและเป็นไปตามรูปแบบเดียวกันกับที่ใช้โดยทั่วไปเมื่อเขียนการทดสอบหน่วยและ TDD แล้วฉันจะพลาดอะไรไป? ฐานข้อมูลในหน่วยความจำจะมีประโยชน์เมื่อใด / ทำไม?

2
TDD ทำงานได้ในโครงการโอเพ่นซอร์สที่ทำงานร่วมกันหรือไม่
สมมติว่าฉันต้องการเริ่มต้นโครงการโอเพนซอร์สที่ฉันหวังว่า / คาดหวังว่าจะมีคนจำนวนมากส่งแพทช์และอะไรก็ตาม เป็นไปได้หรือไม่ที่จะใช้แนวทาง TDD ที่เข้มงวด? ฉันสามารถ / ควรคาดหวัง / เชื่อถือผู้ทำงานร่วมกันเพื่อเขียนแบบทดสอบคุณภาพเมื่อใดก็ตามที่พวกเขาส่งแพตช์? สิ่งหนึ่งที่ฉันคิดเกี่ยวกับคือการเขียนชุดทดสอบสำหรับรายงานข้อผิดพลาดและคำขอคุณสมบัติและต้องการให้โปรแกรมแก้ไข / ดึงคำขอทั้งหมดทำการทดสอบผ่าน แต่ ณ จุดนี้ดูเหมือนว่าจะเป็นการดีกว่าที่จะเขียนคุณลักษณะ / แก้ไขข้อบกพร่อง ตนเอง เท่าที่ฉันสามารถบอกได้โครงการโอเพ่นซอร์สที่สำคัญส่วนใหญ่ที่ใช้ TDD (หรืออย่างน้อยการทดสอบการเขียน) ดูเหมือนว่าจะถูกเขียนโดยบุคคลหรือทีมเป็นส่วนใหญ่ซึ่งง่ายต่อการบังคับใช้วิธีปฏิบัติเช่น TDD

2
มีการศึกษาทางวิทยาศาสตร์เกี่ยวกับ TDD ที่ใช้ต้นทุนการเป็นเจ้าของโดยรวมสำหรับผลิตภัณฑ์ในการวัดหรือไม่?
เมื่อฉันอ่านบทสรุปของงานก่อนหน้านี้ในDogsa T, Batic D. ประสิทธิผลของการพัฒนาด้วยการทดสอบ: กรณีศึกษาอุตสาหกรรม วารสารคุณภาพซอฟต์แวร์ 2011; 19 (4): 643-661 มันทำให้ฉันหลงไหลว่าการวัดที่ใช้ในการศึกษาจำนวนมากรอบ ๆ TDD นั้นขึ้นอยู่กับสิ่งต่าง ๆ เช่นบรรทัดของรหัสข้อบกพร่องและเวลาที่ใช้ในการพัฒนา มีการศึกษาใดบ้างที่มุ่งเน้นไปที่ต้นทุนการเป็นเจ้าของโดยรวมสำหรับผลิตภัณฑ์ที่ได้รับการพัฒนาโดยใช้ TDD กับการพัฒนาแบบดั้งเดิมหรือการทดสอบแบบดั้งเดิมหรือไม่? ฉันสนใจเป็นพิเศษในค่าใช้จ่ายทั้งหมดในการได้มาและต้นทุนการดำเนินงาน

4
“ การปฏิบัติที่เห็นได้ชัด” ของ TDD หมายความว่ารหัสก่อนหรือไม่
เพื่อนของฉันและฉันค่อนข้างใหม่ TDD และมีข้อโต้แย้งเกี่ยวกับเทคนิค "การใช้งานที่เห็นได้ชัด" (จาก "TDD โดยตัวอย่าง" โดย Kent Beck) เพื่อนของฉันบอกว่ามันหมายความว่าหากมีการใช้งานที่ชัดเจนคุณควรไปข้างหน้าและเขียนมัน - ก่อนที่จะทำการทดสอบใด ๆ สำหรับพฤติกรรมใหม่นั้น และแน่นอนหนังสือเล่มนี้พูดว่า: คุณใช้การดำเนินการอย่างง่ายได้อย่างไร เพียงแค่ใช้พวกเขา นอกจากนี้: บางครั้งคุณแน่ใจว่าคุณรู้วิธีการใช้งาน ไปข้างหน้า ฉันคิดว่าสิ่งที่ผู้แต่งหมายถึงคือคุณควรทดสอบก่อนแล้วจึง "นำไปใช้" ซึ่งต่างจาก "Fake It ('Till You Make It)" และเทคนิคอื่น ๆ ซึ่งจำเป็นต้องใช้ขั้นตอนเล็ก ๆ ในขั้นตอนการปฏิบัติ หลังจากคำพูดเหล่านี้ผู้เขียนพูดถึงการได้รับ "แถบสีแดง" (การทดสอบที่ล้มเหลว) เมื่อทำ "การใช้งานที่ชัดเจน" - คุณจะได้รับแถบสีแดงโดยไม่ต้องทดสอบได้อย่างไร แต่ฉันไม่สามารถหาคำพูดใด ๆ จากหนังสือที่บอกว่า "ชัดเจน" ยังหมายถึงการทดสอบก่อน คุณคิดอย่างไร? เราควรทดสอบก่อนหรือหลังเมื่อมีการใช้งาน "ชัดเจน" …
11 tdd 

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