How to unit test BlazoredModalInstance? #311
Unanswered
linestandard
asked this question in
Q&A
Replies: 1 comment
-
There isn't any testing integrations with bUnit at the moment. I plan to add one as I have with Blazored Toast and Local/Session Storage but I haven't been able to find the time yet. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
How can a Blazored Modal be unit tested? (I'm using the bUnit framework.)
My modal component has a CascadingParameter BlazoredModalInstance. Clicking "OK" calls BlazoredModalInstance.CloseAsync(), and cancelling calls BlazoredModalInstance.CancelAsync(). The Blazored Modal works fine in my application. (Thanks for the good work!)
Since BlazoredModalInstance is a class, I can't use a mock to check if CloseAsync or CancelAsync have been called.
I can construct a BlazoredModalInstance object in the test and supply it as a parameter to a surrounding my modal component under test, but when e.g. CloseAsync is called, I get a NullReferenceException at Blazored.Modal.BlazoredModalInstance.d__72.MoveNext().
Do I need set up the initial state of this test BlazoredModalInstance object more, e.g., by calling some other methods on it?
I had hoped for something more like IModalService. I am able to unit test the code to show my modal (e.g., IModalService.Show). It's very easy to mock IModalService and IModalReference in order to test my modal from the "outside". But I can't figure out how to test the modal from the "inside".
Beta Was this translation helpful? Give feedback.
All reactions