If my code contains a known defect which should be fixed, but isn't yet, and won't be fixed for the current release, and might not be fixed in the forseeable future, should there be a failing unit test for that bug in the test suite? If I add the unit test, it will (obviously) fail, and getting used to having failing tests seems like a bad idea. On the other hand, if it is a known defect, and there is a known failing case, it seems odd to keep it out of the test suite, as it should at some point be fixed, and the test is already available.
Unit Testing – Should Unit Tests Be Created for Known Defects?
tddunit testing
Best Answer
The answer is yes, you should write them and you should run them.
Your testing framework needs a category of "known failing tests" and you should mark these tests as falling into that category. How you do that depends on the framework.
Curiously, a failing test that suddenly passes can be just as interesting as a passing test that unexpectedly fails.