Erstellen einer neuen Instanz eines generischen Typparameters, der keine Codeabdeckung erhält

8

Ich habe meinen Code durch die Codeabdeckung ausgeführt und die Zeile darunter zeigt 1 Block als nicht abgedeckt.

Kann mir jemand sagen, welcher Teil dieser Linie nicht ausgeführt wird?

Ein Beispiel zum Spielen mit:

%Vor%

und die Testmethode

%Vor%     
James Barrass 15.08.2013, 16:34
quelle

1 Antwort

6

Ändern Sie Ihre Einschränkung so, dass TExample zu einer Klasse wird:

%Vor%

Wenn Sie Ihren kompilierten Code über ein Tool wie ILSpy ausführen, sehen Sie den Block, der keine Abdeckung erhält:

%Vor%

Es wird geprüft, ob der an den generischen Typ übergebene Typ ein Referenztyp oder ein Werttyp ist. Wenn Sie es zu einer Klasse zwingen, wird diese Überprüfung entfernt. Lesen Sie mehr über das Standardschlüsselwort hier: Ссылка

Eine andere Möglichkeit, die vollständige Codeabdeckung zu erhalten, wäre die Verwendung einer Struktur, die IExample implementiert:

%Vor%

Und dann fügen Sie diesen Test hinzu:

%Vor%     
John Koerner 15.08.2013, 17:27
quelle

Tags und Links