Problem with launching test with an exact tag
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript, node.js
- Domain
- cli, testing-qa
Research direction
Start by reproducing the two npx codeceptjs run --features --config=./codecept.conf.js --grep commands against the reported @cit-mit and @cit-mit-subseq tags, then trace how the CLI handles --grep. Done means an exact-tag option or behavior is defined and covered by a regression test without requiring future negative lookaheads.
Written by the indexing model from the issue text.
Description
What are you trying to achieve?
I have 2 tags in my tests file :
- @cit-mit
- @cit-mit-subseq
I'm trying to launch tests with @cit-mit tag only.
What do you get instead?
I have the @cit-mit tests launched, then the @cit-mit-subseq launched too.
Commands tested to launch test
npx codeceptjs run --features --config=./codecept.conf.js --grep '@cit-mit'
npx codeceptjs run --features --config=./codecept.conf.js --grep '(?=.*@cit-mit)'
I know I can play only @cit-mit tag with the grep (?=.*@cit-mit)^(?!.*@cit-mit-subseq), but in the next weeks I'll have more tests with @cit-mit "prefix" tag so I'll have to edit my grep and I don't want this.
It'll be nice if there is an exact keyword or something like this to lock the pattern to the only tag we provide, and not every tags starting with the one given.
Details
- CodeceptJS version: 3.5.6
- NodeJS Version: 18.18.0
- Operating System: Debian 12.1
- puppeteer || webdriverio || testcafe version (if related) /
- Configuration file:
const { output } = require('codeceptjs')
require('dotenv').config({ path: '.env' })
if (process.env.ENV === undefined) {
process.env['ENV'] = 'preprod'
}
require('dotenv').config({ path: 'codecept.' + process.env.ENV + '.env' })
exports.config = {
output: './output',
helpers: {
REST: {
endpoint: process.env.GATEWAY_URL,
timeout: 60000,
},
WebDriver: {
url: 'http://localhost',
host: process.env.SELENIUM_HOST === undefined ? 'localhost' : process.env.SELENIUM_HOST,
browser: 'chrome',
desiredCapabilities: {
chromeOptions: {
args: ['--headless', '--disable-gpu', '--no-sandbox'],
},
},
},
ChaiWrapper: {
require: 'codeceptjs-chai',
},
JSONResponse: {},
CustomWebDriver: {
require: './lib/CustomWebDriver.js',
},
},
include: {
I: './steps_file.js',
lib: './lib/index',
context: './lib/contextAPI.js',
inputOrder: './data/inputs/input.order.js',
endpoints: './data/data.endpoints.js',
mappings: './data/data.mappings.js',
merchants: './data/data.merchants.js',
},
mocha: {},
bootstrap: null,
timeout: null,
teardown: null,
hooks: [],
gherkin: {
features: './features/**/*.feature',
steps: [
'./step_definitions/_common.steps.js',
'./step_definitions/hpayment.steps.js',
'./step_definitions/order.steps.js',
'./step_definitions/hpayment/hpayment.nominal.steps.js',
'./step_definitions/order/order.cit-mit.steps.js',
'./step_definitions/order/order.nominal.steps.js',
'./step_definitions/order/order.sdd.steps.js',
'./step_definitions/order/order.given.steps.js',
'./step_definitions/order/sca.preference.steps.js',
],
},
plugins: {
hook: {
require: './plugins/gateway-qa-hooks.js',
enabled: true,
},
screenshotOnFail: {
enabled: true,
uniqueScreenshotNames: true,
},
tryTo: {
enabled: true,
},
retryFailedStep: {
enabled: true,
},
retryTo: {
enabled: true,
},
eachElement: {
enabled: true,
},
pauseOnFail: {},
},
stepTimeout: 0,
stepTimeoutOverride: [
{
pattern: 'wait.*',
timeout: 0,
},
{
pattern: 'amOnPage',
timeout: 0,
},
],
tests: './tests/**/*.js',
name: 'gateway-qa',
}
output.success(' ==================================== ')
output.success(' ENVIRONNEMENT: ' + process.env.ENV + ' ')
output.success(' GATEWAY_URL: ' + process.env.GATEWAY_URL + ' ')
output.success(' PCI_URL: ' + process.env.PCI_URL + ' ')
output.success(' ====================================')
- Dominant language
- JavaScript
- Stars
- 4.2k
- Forks
- 756
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 16
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from codeceptjs/CodeceptJS
-
stale
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
codeceptjs/CodeceptJS#5420 · 1 comment ·
-
stale
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
codeceptjs/CodeceptJS#5358 · 1 comment ·
-
stale
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
codeceptjs/CodeceptJS#4958 · 10 comments · 2 reactions ·
-
stale
Difficulty 1/5 Under an hour Newbie friendliness 72/100
codeceptjs/CodeceptJS#4778 · 3 comments ·
-
stale
Difficulty 4/5 3-5 days Newbie friendliness 38/100
codeceptjs/CodeceptJS#5618 · 1 comment ·
All issues in codeceptjs/CodeceptJS
Similar issues
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Automattic/safe-publish#594 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
dream-num/dsh-univer-office#104 ·
-
comp/dashboard invalid P3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
NousResearch/hermes-agent#121143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
avniproject/avni-webapp#1811 ·
-
area/auroraboot area/webui bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100