Il codice in questo progetto è stato realizzato come test attitudinale sulla base dei requisiti disponibili al seguente link.
Il progetto è stato realizzato con Visual Studio 2019 e .NET Core 3.1. Al suo interno fa uso della libreria Lamar come dependency container allo scopo di migliorare la testabilità del codice.
La soluzione è divisa in due progetti:
Si tratta del progetto Console la cui compilazione genera l'applicazione eseguibile.
Si tratta di un set minimale di unit tests usati allo scopo di validare il funzionamento di alcuni componenti critici anche mediante TDD. In particolare vi si trova anche un test di integrazione (RequirementsTests.cs) che riprende i requisiti espressi e li valida mediante un test di integrazione.
In questo paragrafo si illustrano le medalità di avvio del progetto
All'avvio l'applicazione chiede alcune informazioni:
- Provider da utilizzare: sono disponibili i provider di accesso ai dati sqllite e memory. Il provider sqlite è persistente pertanto ad ogni avvio dell'applicazione i post precedenti verranno mantenuti. Il provider memory invece viene azzerato ad ogni riavvio. Esso ha specificamente scopi di sviluppo/test.
- Modalità di debug: impostando "yes" la console emetterà alcuni messaggi aggiuntivi rispetto ai requisiti. Per essere aderenti ai requisiti impostare "no" (valore di default)
- Azzeramento del database: nel caso in cui si scelga il provider sqllite l'applicazione chiede se si vuole cancellare un precedente database nel caso esso sia presente.
Impostando i valori di default (invio ripetuto) si otterrà il comportamento persistente più aderente ai requisiti espressi.
- aprire il progetto con Visual Studio 2019
- impostare Elite.SocialNetworkingKata come progetto di avvio
- Premere F5
- aprire una powershell o command prompt
- posizionarsi nella cartella dove è situato il file Elite.SocialNetworkingKata.sln
- eseguire il comando run.bat - il comando alla prima esecuzione compila la soluzione e la pubblica in un folder "build". In seguito avvia l'applicazione