(C#, servizio WCF, Rhino Mocks, MbUnit)Mocking senza iniezione
ho scritto test per il codice già in atto (sì lo so proprio nel modo sbagliato, ma è così che il suo elaborato sul mio attuale contratto). Ho fatto un po 'di ri-factoring per supportare il mocking - iniettando dipendenze, aggiungendo interfacce aggiuntive, ecc. - tutte hanno migliorato il design. Generalmente la mia esperienza di test è andata bene (esporre fragilità e migliorare il disaccoppiamento). Per qualsiasi oggetto, ho creato le maze dipendenti e questo si adatta bene a me e ha senso.
L'app ha essenzialmente 4 livelli fisici. Il database, un livello di repository per l'accesso ai dati, un servizio WCF connesso al repository tramite un livello di gestione (o logica aziendale), quindi dall'alto verso il basso appare come questo;
WCF gestori Repository Database
prova i gestori e lo strato repository è stato abbastanza semplice, beffardo le dipendenze con Rhino Mocks e iniettando loro nello strato in prova in quanto tale.
Il mio problema è nel test del livello WCF superiore. Dato che il mio servizio non ha il costruttore che mi permette di iniettare le dipendenze, non sono sicuro di come faccio a deridere una dipendenza durante il test dei metodi pubblici (ServiceContracts) sul servizio.
Spero che abbia senso e che ogni aiuto sia molto apprezzato. Sono a conoscenza di TypeMockIsolator ecc., Ma in realtà non voglio seguire questa strada sia per ragioni di budget che per altri motivi per cui non entrerò qui. Inoltre sono sicuro che ci sono molti "impilatori" intelligenti che hanno le informazioni di cui ho bisogno.
Grazie in anticipo.
Grazie, sembra proprio il percorso che devo percorrere. Grazie per il link .. molto utile. –
Grazie a tutti per il vostro aiuto. Mentre alcune delle risposte erano simili, ho scelto questo perché era succinto e indica una soluzione diretta al problema. Grazie ancora. –