堆栈中的内联数据属性如何工作 ASP.Net

本文关键字:工作 Net ASP 何工作 数据属性 堆栈 | 更新日期: 2023-09-27 18:32:04

我下载了开源项目 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# 中再次运行多个数据集是某种聪明的方法吗?

堆栈中的内联数据属性如何工作 ASP.Net

我所知InlineData是一个xUnit测试属性。

Visual Studio(2012或更高版本)中使这项工作工作的原因是,当添加对xUnit NuGet包的引用时,xUnit测试适配器(即NuGet包xunit.runner.visualstudio)将连接到测试项目中。

以下是包含更多详细信息的链接:

  • 在 TFS 生成 vNext 中运行 xUnit 测试

在xUnit v2中,xUnit的NuGet包包括对NuGet(xunit.runner.visualstudio)的引用,该引用使VS2012+中的VS运行程序可以发现测试。有关概述,请参阅 xUnit 文档。