आम तौर पर आप परीक्षण करते हैं, यदि एक अपवाद किसी निश्चित विधि में फेंक दिया जाता है, तो निम्नानुसार। मैं FluentAssertions का उपयोग करें:क्या कन्स्ट्रक्टर अपवाद फेंकने के लिए परीक्षण करने के लिए और अधिक उचित है?
[Fact]
public void Exception_gets_thrown()
{
// Arrange
var foo = new Foo("validArgument");
// Act/Assert
foo.Invoking(f => f.Bar(null)) // null is an invalid argument
.ShouldThrow<ArgumentNullException>();
}
लेकिन यह कैसे परीक्षण करने के लिए, एक अपवाद निर्माता में फेंक दिया जाता है तो क्या होगा? मैंने इसे अभी ऐसा किया है, लेकिन फ़्लूएंटएस्सेशन के माध्यम से शायद एक और उचित तरीका हो सकता है?
[Fact]
public void Constructor_throws_Exception()
{
// Arrange
Action a =() => new Foo(null); // null is an invalid argument
// Act/Assert
a.ShouldThrow<ArgumentNullException>();
}
मैं पुस्तकालय पता नहीं है, लेकिन मुझे पसंद है क्या आप –