({{, (RefLink[TestReport, paclet:ref/TestReport])[{(Subscript[test, 1]),(Subscript[test, 2]),…}]
gives a report of the results of the verification tests (Subscript[test, i]).}, {, (RefLink[TestReport, paclet:ref/TestReport])["file"] 
runs tests from a file, returning an analysis of the completed test run.}})

OpenersNotesSection(Spacer1)Details and Options

(RefLink[TestReport, paclet:ref/TestReport]) returns a (RefLink[TestReportObject, paclet:ref/TestReportObject]).

(RefLink[TestReport, paclet:ref/TestReport]) handles both plain text Wolfram Language files and notebooks that use the Testing Notebook framework.

(RefLink[CreateNotebook, paclet:ref/CreateNotebook])["Testing"] opens a blank notebook set up to use the Testing Notebook framework.

(RefLink[TestReport, paclet:ref/TestReport]) has the following options, which are applied to each (RefLink[VerificationTest, paclet:ref/VerificationTest]) it runs:

(RefLink[TestReport, paclet:ref/TestReport])[(RefLink[File, paclet:ref/File])["file"]] is also supported.

(RefLink[TestReport, paclet:ref/TestReport]) sets (RefLink[$TestFileName, paclet:ref/$TestFileName]) to the name of the file from which a test is being run.

OpenersPrimaryExamplesSection(Spacer1)Examples  (9)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Run a list of (RefLink[VerificationTest, paclet:ref/VerificationTest]):

TestReport[{VerificationTest[Sin[E]>Cos[E]],VerificationTest[MatrixQ[{{1,2,3},{4,5,6,7}}]],VerificationTest[1/0,ComplexInfinity]}]

Run tests from a notebook:

report=TestReport[FileNameJoin[{"ExampleData","ExampleTestFile.nb"}]]

Extract information on tests that failed and present in a (RefLink[TabView, paclet:ref/TabView]):

Column/@(Normal/@report["TestsFailed"])//TabView

OpenersExampleSection1(Spacer1)Scope  (1)

OpenersExampleSubsection0(Spacer1)Basic Uses  (1)

Run a list of tests:

report=TestReport[{VerificationTest[Limit[Exp[t],t->0],2],VerificationTest[PrimeQ[7]],
VerificationTest[Factor[1-2x+(x^2)],(((x+1))^2)],
VerificationTest[Infinity-Infinity,Indeterminate]}]

Properties of the (RefLink[TestReportObject, paclet:ref/TestReportObject]):

report["Properties"]

Association of individual test results:

report["TestResults"]

Compare the expected and actual outputs of tests where those differed:

Dataset[Map[#[{"ExpectedOutput","ActualOutput"}]&,report["TestsFailedWrongResults"]]]

Expected and actual messages where a message failure occurred:

Dataset[Map[#[{"ExpectedMessages","ActualMessages"}]&,report["TestsFailedWithMessages"]]]

OpenersExampleSection2(Spacer1)Options  (6)

OpenersExampleSubsection1(Spacer1)MemoryConstraint  (2)

Apply memory constraint to all given (RefLink[VerificationTest, paclet:ref/VerificationTest]):

testReport=TestReport[{VerificationTest[Range[10],{1,2,3,4,5,6,7,8,9,10}]},MemoryConstraint->(QuantityUnit[250])]

testReport["TestResults"]

%[1]["ActualOutput"]

The individual options for the (RefLink[VerificationTest, paclet:ref/VerificationTest]) override the option set at the (RefLink[TestReport, paclet:ref/TestReport]) level:

TestReport[{VerificationTest[Range[10],{1,2,3,4,5,6,7,8,9,10},MemoryConstraint->(QuantityUnit[500])]},MemoryConstraint->(QuantityUnit[250])]

OpenersExampleSubsection2(Spacer1)SameTest  (2)

Apply (RefLink[SameTest, paclet:ref/SameTest]) to all given (RefLink[VerificationTest, paclet:ref/VerificationTest]):

TestReport[{VerificationTest[RandomInteger[10],_Integer],VerificationTest[RandomReal[10],_Real]},SameTest->MatchQ]

TestReport[{VerificationTest[1+1,2],VerificationTest[1.+10^-14,1]},SameTest->(Chop[#1-#2,(10^(-12))]==0&)]

The individual options for the (RefLink[VerificationTest, paclet:ref/VerificationTest]) override the option set at the (RefLink[TestReport, paclet:ref/TestReport]) level:

TestReport[{VerificationTest[RandomInteger[10],_Integer],VerificationTest[{1,2,3},{3,2,1},SameTest->(Sort[#1] == Sort[#2] &)]},SameTest->MatchQ]

OpenersExampleSubsection3(Spacer1)TimeConstraint  (2)

Apply time constraint to all given (RefLink[VerificationTest, paclet:ref/VerificationTest]):

Simplify[2Sin[10x+11y+z]Cos[10x+10y+10t]]//AbsoluteTiming

testReport=TestReport[{VerificationTest[Simplify[2Sin[10x+11y+z]Cos[10x+10y+10t]],2 Cos[10 (t+x+y)] Sin[10 x+11 y+z]]},TimeConstraint->(QuantityUnit[1])]

testReport["TestResults"]

%[1]["ActualOutput"]

The individual options for the (RefLink[VerificationTest, paclet:ref/VerificationTest]) override the option set at the (RefLink[TestReport, paclet:ref/TestReport]) level:

TestReport[{VerificationTest[Simplify[2Sin[10x+11y+z]Cos[10x+10y+10t]],2 Cos[10 (t+x+y)] Sin[10 x+11 y+z],TimeConstraint->(QuantityUnit[5])]},TimeConstraint->(QuantityUnit[1])]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[VerificationTest, paclet:ref/VerificationTest])  ▪  (RefLink[TestReportObject, paclet:ref/TestReportObject])  ▪  (RefLink[CreateNotebook, paclet:ref/CreateNotebook])  ▪  (RefLink[GenerateDocument, paclet:ref/GenerateDocument])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Using the Testing Framework, paclet:tutorial/UsingTheTestingFramework])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Tuning & Debugging, paclet:guide/TuningAndDebugging])}, {▪(RefLinkPlain[Systematic Testing & Verification, paclet:guide/SystematicTestingAndVerification])}})}})

({{(Spacer1), ({{(Spacer1)Related Links}, {(WebLink[DocumentationFooterIconsRelatedLinks-EIWL.png(Spacer1)An Elementary Introduction to the Wolfram Language, https://www.wolfram.com/language/elementary-introduction/47-debugging-your-code.html])(WebLink[: Debugging Your Code, https://www.wolfram.com/language/elementary-introduction/47-debugging-your-code.html])}})}})