J'ai téléchargé le projet opensource asp.net-webstack juste à cause de la curiosité de vérifier le code source. J'ai trouvé unittest en C# comme ceci:Comment l'attribut InlineData dans la pile ASP.Net fonctionne-t-il?
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
using System.Net.Http;
using Microsoft.TestCommon;
namespace System.Web.Http.Routing
{
public class HttpRouteTest
{
[Theory]
[InlineData("123 456")]
[InlineData("123 {456")]
[InlineData("123 [45]6")]
[InlineData("123 (4)56")]
[InlineData("abc+56")]
[InlineData("abc.56")]
[InlineData("abc*56")]
[InlineData(@"hello12.1[)]*^[email protected]}")]
public void GetRouteData_HandlesUrlEncoding(string id)
{
HttpRoute route = new HttpRoute("{controller}/{id}");
Uri uri = new Uri("http://localhost/test/" + id + "/");
IHttpRouteData routeData = route.GetRouteData("", new HttpRequestMessage(HttpMethod.Get, uri));
Assert.Equal("test", routeData.Values["controller"]);
Assert.Equal(id, routeData.Values["id"]);
}
}
}
Comment exécuter ce test à partir de Visual Studio? Il n'y a aucun attribut TestMethod et TestClass. L'exécution standard à partir du menu contextuel ne fonctionne pas.
Est-il une certaine façon intelligente comment exécuter unittest agains plusieurs ensembles de données en C#?
C'est juste un test xUnit. Je ne sais pas quelle "exécution standard" vous utilisez, mais si vous avez un coureur de test xUnit, ça devrait aller. –