| name | testing |
|---|---|
| description | Use when writing or running tests—Surefire skip flag, test naming, mocks, MockWebServer, and secrets policy. |
- You add or change unit or integration tests under
src/test/java. - Tests “do not run” locally or in CI — usually
skipTests. - You need to mock HTTP or use OkHttp
MockWebServerlike existing tests.
- Always use
mvn test -DskipTests=false(ormvn clean test -DskipTests=false) unless you are only compiling. The Surefire plugin inpom.xmlsets<skipTests>true</skipTests>by default.
- Tests live under
src/test/java/com/contentstack/cms/with class names matching Surefire includes (*Test,*Tests,Test*, suites likeUnitTestSuite). - Reuse helpers such as
TestClient,TestUtils, or patterns in existing*APITestclasses when appropriate.
- MockWebServer is available for stubbing HTTP; align with tests in
core/andstack/packages. - Tests that hit real APIs may require environment variables or
.env(seejava-dotenvtest dependency inpom.xml). Never commit real API keys, management tokens, or passwords; use CI secrets or local env only.
- JaCoCo attaches via
prepare-agent; generate HTML withmvn jacoco:reportafter a test run with skips disabled.