Comments (5)
What exactly is the use case for this?
- Do you have test files that are listed in
.gitignore
and Vitest keeps running those tests? - Do you have source files that are listed in
.gitignore
and also imported by tests or other sources files, and changing those ignored files ends up re-running the tests?
from vitest.
If you want to have all files from .gitignore
not be considered a test file (exclude
option only affects test file glob matching), you can use parse-gitignore
package:
import { configDefaults, defineConfig } from 'vitest/config'
import gitignore from 'parse-gitignore'
import { readFileSync } from 'node:fs'
export default defineConfig({
test: {
exclude: [
...configDefaults,
...parse(readFileSync('.gitignore', 'utf-8')),
],
},
})
from vitest.
What exactly is the use case for this?
* Do you have test files that are listed in `.gitignore` and Vitest keeps running those tests? * Do you have source files that are listed in `.gitignore` and also imported by tests or other sources files, and changing those ignored files ends up re-running the tests?
The situation that prompted me to open this issue was that files inside .direnv
are picked up by vitest. I'm not super familiar with direnv, but it appears that source files get linked/mirrored within it.
So instead of just testing
src/static/js/__tests__/my-file.test.ts`
vitest will also attempt to test
.direnv/flake-inputs/sidsuihfuefhb/src/static/js/__tests__/my-file.test.ts`
Since the direnv is already in .gitignore
, it would have been nice if the folder got excluded automatically as well.
from vitest.
If you want to have all files from
.gitignore
not be considered a test file (exclude
option only affects test file glob matching), you can useparse-gitignore
package:import { configDefaults, defineConfig } from 'vitest/config' import gitignore from 'parse-gitignore' import { readFileSync } from 'node:fs' export default defineConfig({ test: { exclude: [ ...configDefaults, ...parse(readFileSync('.gitignore', 'utf-8')), ], }, })
Oh, good idea, thank you!
from vitest.
.gitignore
is not related to testing, so I don't think we can have a built-in switch. You can still use custom solutions as I mentioned.
from vitest.
Related Issues (20)
- Error in Browser mode x Node APIs HOT 15
- Declaring a variable name as "it" will throw an error HOT 2
- TypeError: Cannot read properties of undefined (reading 'endCol') HOT 9
- `vitest init browser` creates invalid workspace file HOT 1
- coverage-v8 issues with calculation of branch coverage HOT 5
- npm error ERESOLVE unable to resolve dependency tree HOT 1
- Assertion message lengths should be clamped HOT 3
- Exclude setting in vitest config doesn't seem to work HOT 1
- Custom Reporter - TaskMetadata is not being sent HOT 4
- `toMatchInlineSnapshot` produces invalid code when called inside a loop HOT 5
- Exclude not working in the Vitest Workspace Config HOT 5
- Allow project filtered test runs to report coverage of only filtered projects HOT 1
- Library is loadable by `vitest` but not `vite-node` HOT 3
- `expect(value, MESSAGE)` is not documented
- Project name colours are not accessible HOT 1
- Cannot use vitest with NestJS and @types/fhir package HOT 3
- Getting this.coverageProvider?.generateCoverage is not a function with Vitest 2.0 HOT 2
- Snapshots do not generate CSS class definitions
- Add support for advancing timers to the next animation frame
- Support spread parameters for extensions [in types] HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vitest.