【发布时间】:2016-05-03 14:33:42
【问题描述】:
我下载了开源项目 asp.net-webstack 只是出于好奇查看源代码。我在 C# 中找到了这样的 unittest:
// 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[)]*^$=!@23}")]
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"]);
}
}
}
如何从 Visual Studio 运行此测试?没有 TestMethod 和 TestClass 属性。上下文菜单中的标准执行不起作用。
如何在 C# 中对多个数据集运行单元测试是一种聪明的方法吗?
【问题讨论】:
-
这只是一个 xUnit 测试。我不知道您使用的是哪种“标准执行”,但如果您有 xUnit 测试运行器,应该没问题。
标签: c# unit-testing xunit.net