MCPcopy Index your code
hub / github.com/codeceptjs/CodeceptJS / printTests

Function printTests

lib/command/dryRun.js:68–125  ·  view source on GitHub ↗
(files)

Source from the content-addressed store, hash-verified

66}
67
68async function printTests(files) {
69 const { default: figures } = await import('figures')
70 const { default: colors } = await import('chalk')
71
72 output.print(output.styles.debug(`Tests from ${store.codeceptDir}:`))
73 output.print()
74
75 const mocha = Container.mocha()
76 mocha.files = files
77 mocha.loadFiles()
78
79 let numOfTests = 0
80 let numOfSuites = 0
81 let outputString = ''
82 const filterBy = process.env.grep
83
84 let filterRegex
85 if (filterBy) {
86 try {
87 filterRegex = new RegExp(filterBy, 'i') // Case-insensitive matching
88 } catch (err) {
89 console.error(`Invalid grep pattern: ${filterBy}`)
90 process.exit(1)
91 }
92 }
93
94 for (const suite of mocha.suite.suites) {
95 const suiteMatches = filterRegex ? filterRegex.test(suite.title) : true
96 let suiteHasMatchingTests = false
97
98 if (suiteMatches) {
99 outputString += `${colors.white.bold(suite.title)} -- ${output.styles.log(suite.file || '')}\n`
100 suiteHasMatchingTests = true
101 numOfSuites++
102 }
103
104 for (const test of suite.tests) {
105 const testMatches = filterRegex ? filterRegex.test(test.title) : true
106
107 if (testMatches) {
108 if (!suiteMatches && !suiteHasMatchingTests) {
109 outputString += `${colors.white.bold(suite.title)} -- ${output.styles.log(suite.file || '')}\n`
110 suiteHasMatchingTests = true
111 numOfSuites++
112 }
113
114 numOfTests++
115 outputString += ` ${output.styles.scenario(figures.checkboxOff)} ${test.title}\n`
116 }
117 }
118 }
119
120 output.print(removeDuplicates(outputString))
121 output.print('')
122 output.success(` Total: ${numOfSuites} suites | ${numOfTests} tests `)
123 printFooter()
124 process.exit(0)
125}

Callers 1

dryRun.jsFile · 0.85

Calls 5

removeDuplicatesFunction · 0.85
printFooterFunction · 0.85
debugMethod · 0.80
mochaMethod · 0.80
logMethod · 0.80

Tested by

no test coverage detected