Quindi, il problema è che ho un sacco di classi interne nel mio assembly che vengono utilizzate dalla classe che voglio testare. Dal momento che di accesso sono stati rimossi da VS2012, sto bene con l'utilizzo di [InternalsVisibleTo]
e che funziona alla grande ... tranne quando provo a shimify mie classi interne, non sono visibili al quadro falsi. Dovrei anche notare che la particolare classe che sto trattando è una classe statica con metodi statici, e non voglio davvero refactoring per utilizzare le interfacce (e l'uso di stub) a causa della resistenza dell'organizzazione a quel livello di refactoring.Come simulare/isolare le classi interne in VS 2012 con gli shim di Fakes Framework?
C'è un modo per rendere questi membri interni utilizzabile dal contesto spessori in Visual Studio 2012 senza ricorrere a interfacciamento (letteralmente) tutto?
In effetti, lo dico, eppure quando ho provato questo, nessuna delle mie interfacce interne si presenta. Ho solo mozziconi per interfacce pubbliche. So che la domanda iniziale riguardava gli shim: sei riuscito a far funzionare tutto questo per lo stub delle interfacce interne? –
Stiamo aggiornando la pagina MSDN. È inoltre necessario un InternalsVisibleToAttribute per consentire all'assembly di test di accedere ai tipi interni dall'assieme di destinazione. In altre parole, è necessario: [assembly: InternalsVisibleTo ("TargetAssembly.Fakes")] [assembly: InternalsVisibleTo ("TestAssembly")] –
importante nota da quella pagina msdn che mi è sfuggita: 'Il framework Fakes utilizza lo stesso chiave per firmare tutti assiemi generato, quindi la chiave pubblica se la firma dovrebbe essere SEMPRE 'PublicKey = 0024000004800000940000000602000000240000525341310004000001000100e92decb949446f688ab9f6973436c535bf50acd1fd580495aae3f875aa4e4f663ca77908c63b7f0996977cb98fcfdb35e05aa2c842002703cad835473caac5ef14107e3a7fae01120a96558785f48319f66daabc862872b2c53f5ac11fa335c0165e202b4c011334c7bc8f4c4e570cf255190f4e3e2cbc9137ca57cb687947bc' se accedi roba! Mi ci sono voluti per sempre per prendere questo! –