Cannot Find Assert.Fail And Assert.Pass Or Equivalent


Answer :

The documentation includes a comparison chart including this:

Fail - xUnit.net alternative: Assert.True(false, "message")

(It doesn't show Assert.Pass, and I've never used that myself, but I suspect the alternative is just to return from the test. Of course that doesn't help if you want to throw it in a nested method call. My suspicion is that it's not very frequently used in NUnit, hence its absence in the comparison chart.)


An alternative to Assert.Fail("messsage") suggested by xUnit docs

xUnit.net alternative: Assert.True(false, "message")

has a downside – its output is

message  Expected: True Actual:   False 

To get rid of

Expected: True Actual:   False 

don't call Assert.True(false, "message") throw Xunit.Sdk.XunitException instead.
For example, create a helper method similar to this:

public static class MyAssert {     public static void Fail(string message)         => throw new Xunit.Sdk.XunitException(message); } 

Just throw an exception to satisfy both requirements (exiting a nested loop and an alternative to the missing Assert.Fail method). Only issue is there is no decent base exception (e.g. TestException) to use in order to avoid getting warnings about using the base Exception class, so something more directed like an InvalidOperationException is probably a good choice.


Comments

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?