L'exécution pas à pas et le débogage de code pour les tests Unitaires
Je n'ai pas été en mesure de débogage ou de l'étape par le biais de test de l'unité.
Voici mon test de l'échantillon de code...
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using DomainModel.Entities;
using DomainModel.Abstract;
using WebUI.Controllers;
namespace Tests
{
[TestClass]
public class PeopleControllerTests
{
static IPeopleRepository MockPeopleRepository(params Person[] people)
{
var mockPeopleRepos = new Moq.Mock<IPeopleRepository>();
mockPeopleRepos.Setup(x => x.People).Returns(people.AsQueryable());
return mockPeopleRepos.Object;
}
[TestMethod]
public void Count_Of_People()
{
IPeopleRepository repository = MockPeopleRepository(
new Person { Age = 31, Gender = "Male", Name = "Tom" },
new Person { Age = 25, Gender = "Female", Name = "Sally" },
new Person { Age = 18, Gender = "Female", Name = "John" }
);
PeopleController controller = new PeopleController(repository);
var people = controller.List().ViewData.Model;
var peoplelist = people as IList<Person>;
Assert.AreEqual(3, peoplelist.Count);
}
}
}
- Tu veux dire, outre le fait de cliquer à droite de la ligne, ou cliquez-droit sur le point d'arrêt -> insérer un point d'arrêt?
Vous devez vous connecter pour publier un commentaire.
Lors de l'utilisation de Microsoft.VisualStudio.TestTools.UnitTesting, aller à 'Test' dans le menu principal de VS 2010, cliquez sur le sous menu 'Debug' -> "tests" dans le contexte actuel".
Un clic-droit sur le test-code et en sélectionnant " exécuter des tests ne seront jamais démarrer le débogueur, pas même lorsque le mode = debug.
VS2012
Nous pouvons faire de débogage, étape par étape, en mettant unBreak Point in a Specific Test Method
. Après Aller àMenu > Test > Debug > Selected Tests Or All Test
. Non, vous devez déboguer. Juste une mise à Jour 🙂Ctrl + T
)C'est beaucoup plus simple de VS 2013, dans l'Explorateur de tests sélectionner les tests que vous souhaitez déboguer, cliquez-droit et choisissez déboguer les tests sélectionnés.
Oui vous le pouvez, merci 🙂
À casser sur eux vous avez besoin pour exécuter vos tests unitaires en mode Debug si.
Si vous avez été en
nunit
, qui a été si facile:nunit
et ouvrez votre choix assemblée en elle.nunit
nunit
et exécuter des testsPeut-être simplement des tests de débogage et de définir des points d'arrêt dans certains types de tests Unitaires, mais il ne fait pas si vous debug par exemple de service Web.
Pour déboguer un Service Web (pause à l'intérieur d'une Unité de test de), vous devez insérer ce code:
Cela fera apparaître un popup disant que l'application a cessé de travailler et vous pouvez choisir de le déboguer.
Plus ici:
http://msdn.microsoft.com/en-us/library/ms243172.aspx#DebuggingOnCassini
Une autre solution...
Vous avez besoin pour exécuter et d'attacher le débogueur
Ensemble de cette ligne à la première ligne exécutée dans vos tests (peut-être dans la classe de test constructeur)
puis, quand la fenêtre de débogage de l'ouvrir , a choisi le visuel stdio
Une option consiste à installer TestDriven.net qui rend plus facile pour exécuter les tests unitaires sur l'un des principaux tests unitaires .net cadres (nunit, xunit, VS outils, etc). Une fois installé, vous pouvez cliquer droit sur une fonction et choisir un Test Avec --> débogueur.