wish help you to fix your issue If you cast the result of Setup to IThrows, it works. I'm not sure why it fails how you have it; maybe because the runtime type of moq.Setup(func) is not normally visible (it's internal to Moq).
it helps some times In field variable in your loop you have the definition of field and when you want to get the value of field you should pass the object to the GetValue method, so in your code you need to write something like this
int array = (int)field.GetValue(testClass);
SetValue Method throw Exception when using reflection