/ / Test unitaire pour les périphériques intelligents utilisant framework 2.0 - c #, test unitaire, compact-framework

Test unitaire pour les périphériques intelligents utilisant framework 2.0 - c #, test unitaire, compact-framework

VSTS 2008 (Visual Studio Team System) arriveavec fonction de test unitaire intégrée. Nous pouvons ajouter un projet de test pour effectuer des tests unitaires sur le projet de périphérique intelligent. Le problème survient lorsque mon projet d'appareil intelligent n'utilise pas Framework 3.5, mais plutôt Framework 2.0. Je strictement ne pas installer Framework 3.5 dans le périphérique.

Mais cette restriction m'empêche d'exécuter l'application UnitTest car elle utilise la référence suivante:

Microsoft.VisualStudio.SmartDevice.UnitTestFramework.dll

qui nécessite un cadre 3.5 dans le périphérique ou l'émulateur sinon, il lève une exception. J'ai besoin de savoir s'il est possible de réaliser UnitTest sur mon application de périphérique dans les limites de Framework 2.0.

Réponses:

2 pour la réponse № 1

Je fais beaucoup de développement Compact Framework et je suggérerais une alternative à l’utilisation du test d’unité de périphérique intelligent qui résoudra également votre problème.

Refactorisez votre code pour que votre interface utilisateur soit simplement une vue. (Par exemple, il ne fait rien qu'appeler d'autres classes.) Ensuite, placez vos classes non-UI sous test d'unité. (Juste des tests unitaires normaux.)

Visual Studio vous avertit lorsque vous créez le projet de test unitaire normal pour la première fois, mais la navigation est ensuite fluide.

Il y a 3 raisons pour cela:

  1. La vitesse. Cela prend beaucoup moins de temps pour exécuter vos tests unitaires de cette façon.
  2. Facilité. Comme vous l'avez vu, le test et le fonctionnement de l'unité de périphérique intelligent prend un peu de temps.
  3. Compatibilité. En faisant cela, vous avez accès à des outils tels que Rhino Mocks.
  4. Vous pouvez définir la cible du projet de test unitaire sur .NET 2.0

Maintenant l'inconvénient:

  1. Vous n'êtes pas "vraiment" en train de tester votre code dans l'environnement NETCF.

L’inconvénient est important, mais les tests unitaires sontne saurait se substituer à de "vrais" tests qui permettraient de détecter rapidement tous les problèmes que cet inconvénient manquerait. (Et vraiment une compilation devrait attraper la plupart des problèmes.)


0 pour la réponse № 2

Vous pouvez définir votre projet de test unitaire sur .Net 3.5 et votre projet de périphérique intelligent sur .Net 2.0.

Y a-t-il un problème à le faire?


0 pour la réponse № 3

Lors de la création de votre projet de test, vous devez avoir mis en place une configuration incorrecte ou suivre une procédure incorrecte.

Je viens de revérifier cela avec Studio 2008 et si l'assembly que vous testez cible la version 2.0, lorsque vous créez le projet de test unitaire, il cible également la version 2.0. Vous doit utilisez l'assistant "Créer un test d'unité" dans le menu contextuel pour générer le projet Unit Tetst.