I've already briefed you on some stuff about assertions; here's the full scoop.
Assertions are routines (in Visual Basic) that use expressions to assert that something is or is not True. For example, you might have a line 252s1817c of code like this in your project:
nFile = FreeFileSo how do you know if it works? Maybe you think that it raises an exception if all your file handles are taken up. (The Help file doesn't tell you.) We wouldn't leave this to chance. What we'd do during both unit and system testing is use assertions to check our assumption that all is indeed well. We would have a line that looks like this following the line above:
Call Assert(nFile <> 0, "FreeFile")This checks that nFile is not set to 0. Assertions are easy to use and extremely handy. They would be even better if Visual Basic had a "stringizing" preprocessor like the one that comes with most C compilers. Then it could fill in the second parameter for you with the asserted expression, like this:
Call Assert(nFile <> 0, "nFile <> 0")Assertions should be removed at run time. They serve only for testing during development, a kind of soft error handler, if you will. (This removal could be done using the App.InDesign property described earlier.) If an assertion regularly fails during development, we usually place a real test around it; that is, we test for it specifically in code. For the preceding example, we would replace
with
If nFile = 0 ThenIf an assertion doesn't fail regularly (or at all) during development, we remove the assertion.
If you're asking yourself, "Why isn't he using Debug.Assert?" you need to go back and read all of Tip 6.
|