Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How could I unit test this?

I am using the Mono and Lokad quality libraries to develop an API which does things like inspect the characteristics of methods to see if they throw exceptions, etc etc.

One of my methods I have in this API looks like this:

// Get all methods which have a NotImplementedException
var throwingMethods = _codebase.Methods
    .Where(m => m.GetInstructions()
                 .Exists(i => i.Creates<NotImplementedException>())
    ).ToArray();
 return throwingMethods;

How could I unit test this? C# does not have its own native ability to do the same thing. Perhaps I could just have a small assembly, make a hard-coded collection, and compare?

Thanks

like image 512
GurdeepS Avatar asked Feb 07 '26 04:02

GurdeepS


1 Answers

You could try mocking the _codebase variable to return some predefined methods for your unit test.

If _codebase is set by a variable passed to the constructor of the class you are testing (constructor injection) then this might be pretty easy (assuming of course that the Methods property is overridable and the class is not sealed).

like image 124
Darin Dimitrov Avatar answered Feb 12 '26 05:02

Darin Dimitrov



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!