2.9 KiB
.NET + Angular Application Template
This project is a full-stack web application Template combining ASP.NET Core for the backend and Angular for the frontend.
🛠️ Technologies Used
-
Backend: ASP.NET Core (.NET 9)
-
Frontend: Angular
-
API Documentation: Swagger (Swashbuckle)
🚀 Getting Started
Prerequisites
🔧 Setup Instructions
-
Install Angular dependencies
⚠️ Before starting the application for the first time, run the following command in the
ClientAppdirectory:cd src/ClientApp npm install -
Run the application
Go back to the API folder and start the backend server:
cd src/API dotnet run --launch-profile angular_dev -
Access the app
-
Angular frontend: http://localhost:44492
-
Swagger UI (API docs): http://localhost:5184/swagger
-
🧪 Angular-Tests ausführen (Wie mache ich Tests in Angular?)
Die Angular-Frontend-Tests sind mit Karma + Jasmine eingerichtet. Alle Testdateien enden auf .spec.ts und liegen neben den jeweiligen Komponenten/Services im Ordner src/ClientApp/src/.
Schnellstart
- Abhängigkeiten installieren (falls noch nicht erledigt):
cd src/ClientApp npm install - Tests im Watch-Modus starten (öffnet den Browser, ideal für Entwicklung):
npm test
Headless/CI und Coverage
-
Einmalige Testausführung mit Coverage-Bericht (headless):
cd src/ClientApp npm run test:coverageDer Coverage-Report wird unter
src/ClientApp/coverage/erzeugt (HTML-Report inindex.html). -
CI-freundliche Ausführung in Chrome Headless inklusive Coverage:
cd src/ClientApp npm run test:ciHinweis: Für Headless-Tests muss eine Chrome/Chromium-Laufzeit auf der Maschine vorhanden sein.
Wo schreibe ich Tests?
- Komponenten:
src/app/components/<name>/<name>.component.spec.ts - Services:
src/app/services/<name>.service.spec.ts - App-Komponenten:
src/app/app.component.spec.ts
Beispiele sind bereits im Projekt vorhanden (z. B. gitea.service.spec.ts, about-me.component.spec.ts).
Nützliche Tipps
- Testbefehle (npm Scripts) befinden sich in
src/ClientApp/package.json:npm test– Watch-Modus mit Browsernpm run test:coverage– Headless, einmalig, mit Coveragenpm run test:ci– Headless, ohne Watch, mit Coverage (für CI)
- Die Angular-CLI liest die Testkonfiguration aus
angular.json(Targettest) undtsconfig.spec.json. - Falls Sie auf Servern ohne GUI testen: Verwenden Sie die Headless-Skripte (
test:ci/test:coverage).