9
votes

Testez si la propriété jette une exception avec Nunit

Il semble qu'il n'y ait aucun délégué à des propriétés. Y a-t-il un moyen pratique de faire ce qui suit? XXX


0 commentaires

4 Réponses :


0
votes

Pourquoi ne pas dire: xxx


3 commentaires

Vous aurez toujours besoin de faire une affectation réelle (à jeter) et de garder le {}, donc: ((() => {var x = nullnodelist.getenumerator (). Current;})


Cela ne compile pas. ERREUR: Seule affectation, appel, incrément, décrément, attendre et les nouvelles expressions d'objets peuvent être utilisées comme déclaration


Suivi sur @Bytev: Pour plus de clarté, une défausse ('_') peut être utilisée ( docs.microsoft.com/en-us/dotnet/cshaarp/discards ). Donc, la déclaration devient: assert.throws ((() => {_ = nullnodelist.getenumerator (). Courant;});



7
votes
Assert.Throws<InvalidOperationException>(
    delegate { object current = nullNodeList.GetEnumerator().Current; });

1 commentaires

@Anton Hi Anton J'aimerais savoir est-ce que c'est la voie à utiliser pour tester une propriété réadonnée d'une classe publique?



1
votes

Vous pouvez essayer de l'attribuer à une variable ou essayer d'énumérer: xxx


0 commentaires

10
votes

FAST-AVANT quatre ans et Nunit prend désormais en charge cela (version actuelle est V2.6 - Je n'ai pas vérifié quelle version a été introduite).

Assert.That(() => nullNodeList.GetEnumerator().Current,
    Throws.InvalidOperationException);


0 commentaires