- A development container must be created using a new Visual Studio Code window.
- When using macOS or non-systemd enabled WSL 2 with Docker Desktop the development container must be created using a
local cap-xml repository on the development machine.
- When using WSL 2 the \wsl drive can be used to access the local cap-xml respository from Visual Studio Code on Windows.
- When using native Linux or systemd enabled WSL 2 with native Docker the development container can be created from either a local cap-xml repository on the development machine or a remote repository URL.
- When using WSL 2 the \wsl drive can be used to access the local cap-xml respository from Visual Studio Code on Windows.
- When using SSH key based credential sharing, git SSH URLs must be used when cloning a remote repository URL to ensure compatibility with credential sharing.
- When not using SSH key based credential sharing, git HTTPS URLs must be used when cloning a remote repository URL to ensure compatibility with credential sharing.
Please consult the Microsoft documentation for further details.
After a local directory has been selected or a repository URL has been entered it will take several minutes for the containerised development environment to be be created. Internet connection speed is a factor in how long the process takes.
-
Open an Integrated Terminal (File -> New Terminal menu option) in the development container Visual Studio Code window.
- This should open a terminal in the directory /workpaces/cap-xml/ within the development container.
-
Issue the command docker ps
- Four containers associated with CAP XML should be running on the Docker host (due to use of Docker outside of Docker Compose):
- Development container
- LocalStack container
- Postgres container
- PgAdmin4 container
- Four containers associated with CAP XML should be running on the Docker host (due to use of Docker outside of Docker Compose):
-
Issue the command npm test in the development container Visual Studio Code Integrated terminal.
- Unit tests should pass as they would in a local development environment configured correctly manually.