2010-09-02 2 views
3

Est-ce que quelqu'un a eu une stratégie pour les tests unitaires heiarchies dans Resharper?héritage de test de l'unité de resharper

J'utilise généralement à la fois TestDriven.Net et le testeur de Resharper, avec des tests NUnit. TestDriven est génial pour tout mais rapidement trouver un mauvais test d'une exécution par lots (qui pourrait être des milliers), où le coureur de Resharper intervient.

J'utilise généralement un motif avec une classe de base abstraite (comme le code ci-dessous)) de cas de test surchargés pour obtenir la bonne sous-classe, ce qui fonctionne très bien dans TestDriven, mais Resharper les ignore tout simplement! Je pensais qu'à partir de la version 5.0, Resharper utilisait la base de code de NUnit, ce qui signifie que cela devrait fonctionner mais ce n'est pas le cas.

Cheers,
Berryl

[TestFixture] 
public class AdminAccountTests : AccountTests 
{ 
    protected override Account _GetAccount() { return new AdminAccount(_idScheme, _description); } 
} 

[TestFixture] 
public class LeaveTimeAccountTests : AccountTests 
{ 
    protected override Account _GetAccount() { return new LeaveTimeAccount(_idScheme, _description); } 
} 

public abstract class AccountTests 
{ 
    protected abstract Account _GetAccount(); 

    [SetUp] 
    public void SetUp() 
    { 
     _account = _GetAccount(); 
    } 

    [Test] 
    public void OnCreation_Blah() { 
     Assert.That(_account.IdScheme, Is.EqualTo(_idScheme)); 
    } 

} 
+2

Ce problème a déjà été résolu depuis un certain temps dans les versions nocturnes de la version 5.1. Il y a deux jours, nous avons publié le dernier 5.1.1. S'il vous plaît télécharger cela. –

+0

@Hadi. J'ai également installé le dernier NUnit (2.5.7.10213), et oui, la vie est encore bonne. À votre santé! – Berryl

Répondre

0

Faire votre classe abstraite une TestFixture. Je fais la même chose avec R #. EDIT: Je viens de remarquer que R # (j'utilise 5.1 avec NUnit 2.6) marquera une classe comme un appareil de test s'il contient Test s, que la sous-classe ou la classe de base soient attribuées à TestFixture. Cela ne résout peut-être pas votre problème.

+0

J'ai essayé, sans aucune chance. Merci pour la réponse tho – Berryl

+0

@RootBeer. Voir la réponse de Hadi, ça sonne comme avec Jet Brains, et indique que c'est un problème qui a été corrigé dans la dernière version de R # 5.1.1. J'ai également installé le dernier NUnit pendant que j'étais là (2.5.7.10213). Le code que j'ai posté s'exécute maintenant dans R #. À votre santé! – Berryl

+0

Bon à entendre. Merci pour le chèque! – arootbeer

1

J'ai le même problème avec MbUnit et Gallio avec resharper 5.1.3000.12. Si j'essaie de lancer le test via le plugin Visual Studio, le test est ignoré. Avec le coureur d'essai externe de gallio, cela fonctionne bien.

JetBrains ReSharper 5.1 C# Édition Créer 5.1.3000.12 sur 2011-01-28T05: 05: 56

Plugins: 1. « Gallio Test Runner » v3.2.0.0 par Gallio Visual Studio 9.0. 30729.1.

Copyright © 2003-2011 JetBrains s.r.o .. Tous droits réservés.