จะโยน SqlException เมื่อจำเป็นสำหรับการจำลองและการทดสอบหน่วยได้อย่างไร?
SQlExceptionฉันพยายามที่จะทดสอบข้อยกเว้นบางประการในโครงการของฉันและเป็นหนึ่งในข้อยกเว้นที่ผมจับเป็น ดูเหมือนว่าคุณจะไปไม่ได้new SqlException()ดังนั้นฉันจึงไม่แน่ใจว่าฉันจะทิ้งข้อยกเว้นได้อย่างไรโดยเฉพาะอย่างยิ่งโดยไม่ต้องเรียกฐานข้อมูล (และเนื่องจากเป็นการทดสอบหน่วยจึงมักไม่แนะนำให้เรียกฐานข้อมูลเนื่องจากมันช้า) ฉันใช้ NUnit และ Moq แต่ฉันไม่แน่ใจว่าจะปลอมได้อย่างไร การตอบกลับคำตอบบางส่วนที่ดูเหมือนว่าทั้งหมดจะขึ้นอยู่กับ ADO.NET โปรดทราบว่าฉันใช้ Linq กับ Sql ดังนั้นสิ่งนั้นจึงเป็นเหมือนเบื้องหลัง ข้อมูลเพิ่มเติมตามที่ @MattHamilton ร้องขอ: System.ArgumentException : Type to mock must be an interface or an abstract or non-sealed class. at Moq.Mock`1.CheckParameters() at Moq.Mock`1..ctor(MockBehavior behavior, Object[] args) at Moq.Mock`1..ctor(MockBehavior behavior) at Moq.Mock`1..ctor() โพสต์ในบรรทัดแรกเมื่อพยายามจำลอง var ex = …