     POSTPONE: must-infer
     POSTPONE: must-infer-as
 }
-"All of the above are used like ordinary words but are actually parsing words. This ensures that parse-time state, namely the line number, can be associated with the test in question, and reported in test failures." ;
-
-ARTICLE: "tools.test.run" "Running unit tests"
+"All of the above are used like ordinary words but are actually parsing words. This ensures that parse-time state, namely the line number, can be associated with the test in question, and reported in test failures."
+$nl
+"Some words help the test writer using temporary files:"
+{ $subsections
+  with-test-directory
+  with-test-file
+}
+{ $heading "Running unit tests" }
 "The following words run test harness files; any test failures are collected and printed at the end:"
 { $subsections
     test

USING: help.markup help.syntax kernel quotations io ;
IN: tools.test

ARTICLE: "tools.test.write" "Writing unit tests"
"Assert that a quotation outputs a specific set of values:"
{ $subsections POSTPONE: unit-test }
"Assert that a quotation throws an error:"
{ $subsections

    test-failures
} ;



HELP: must-fail
{ $syntax "[ quot ] must-fail" }
