What is the Inconclusive Test Condition?
Several people have asked me about what the Inconclusive Test Condition is and why we add it by default to database unit tests. I thought I’d take a moment to address this here on the blog.
If an Inconclusive Test Condition is added to a database unit test, the test will always fail with an Inconclusive result. It’s not a passed result, nor a failed result, but something in between – Inconclusive. It indicates that the results of the test could not be verified.
This test condition is added by default to a newly created unit test to clearly indicate that verification for that test has not yet been implemented. This way whenever you generate tests, leave your computer, and come back, you will clearly be able to see which tests have not yet had verification completely implemented. The key thing to remember is that if a test has no test conditions nor any SQL assertion logic, the test will by default pass. If the Inconclusive test condition was not added by default, than the test will pass, even though it is doing no verification.
A similar mechanism exists in Team Test application unit tests (Assert.Inconclusive).