-
Notifications
You must be signed in to change notification settings - Fork 29.5k
Closed
Labels
please verify canaryPlease verify the issue with the latest canary branch.Please verify the issue with the latest canary branch.
Description
Bug report
Describe the bug
According to these docs:
Next.js allows you to set defaults in
.env
(all environments)
Further down on the same page:
Apart from
development
andproduction
environments, there is a 3rd option available:test
. In the same way you can set defaults for development or production environments, you can do the same with.env.test
file for testing environment
But variables in .env
and .env.test
are not being loaded when running tests.
To Reproduce
Basic setup and .env
:
create-next-app -e with-jest
and enter a namecd <name>
echo MY_VAR=my_value >.env
-
cat >__tests__/env.js <<EOF describe("environment variables", () => { it("loads variables from .env in the test environment", () => { expect(process.env.MY_VAR).toBe("my_value"); }); }); EOF
npm run test:ci -- env
The test fails: process.env.MY_VAR
is undefined.
.env.test
:
mv .env .env.test
npm run test:ci -- env
The test fails: process.env.MY_VAR
is undefined.
Expected behavior
The test should pass in both situations (with the file named either .env
or .env.test
). At least, if I'm understanding the docs correctly and I'm not doing anything silly.
System information
- OS: Ubuntu
- Version of Next.js: 9.5.5
- Version of Node.js: 12.18.1
Norfeldt, Murkantilism and syntactic-salt
Metadata
Metadata
Assignees
Labels
please verify canaryPlease verify the issue with the latest canary branch.Please verify the issue with the latest canary branch.