MVC Contrib mantiene la promessa di aumentare la produttività in ASP.NET MVC
-
10-07-2019 - |
Domanda
Sono profondamente impegnato nell'avvio di un nuovo progetto ASP.NET MVC. Numerosi tutorial hanno raccomandato l'uso di MVC Contrib . Volevo ottenere l'opinione della community di Stack Overflow se avesse mantenuto la promessa di aumentare la produttività con ASP.NET MVC. Fondamentalmente valgono i vantaggi di MVC Contrib aggiungendo un altro astrazione che perde alla mia applicazione?
Soluzione
Penso che MVC Contrib sia prezioso quando si tratta di test. Forniscono molti metodi di estensione che consentono di testare in maniera fluida i risultati di routing e azione. Ad esempio:
quot &; ~ / Amministrazione / Users / Modifica / testuser quot &; .ShouldMapTo (a = & Gt; a.Modify (& Quot; testuser & Quot;));
... per il routing e per i risultati dell'azione:
Controller.List () .AssertViewRendered () & .WithViewData gt; () .Contare .ShouldEqual (4, & Quot; Dovrebbero essere 4 utenti restituiti & Quot;);
Anche MVC Contrib fornisce un'utile classe TestControllerBuilder che può creare un controller e prendersi cura di simulare tutto il tipo di contesto HTTP necessario. Questo non sembra molto, ma accoppiato con DI, scrivendo te stesso se un dolore.
Builder = new TestControllerBuilder(); Builder.CreateController<CT>();
Passando dai test, le fabbriche di controller per DI / IoC sono davvero utili, quindi non è necessario scriverle da soli, ma non l'IMHO essenziale.
L'altra cosa che mi piace di MVC Contrib sono gli helper HTML fluenti. Penso che sia molto più bello impostare proprietà HTML e altri dati usando questo tipo di helper fluenti - ecco due esempi:
<% = this.TextBox (" name "). Etichetta (" Nome categoria attività: "). MaxLength (50). Class (" & richiesto quot;)