当前位置: 首页 > 知识库问答 >
问题:

ASP.Net堆栈中的InlineData属性是如何工作的?

徐绪
2023-03-14

出于好奇,我下载了开源项目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#中针对多个数据集运行unittest的聪明方法吗?

共有2个答案

汪明德
2023-03-14

在xUnit v2中,xUnit的NuGet包包含对NuGet的引用(< code > xUnit . runner . visual studio ),使VS runner可以在VS2012中发现测试。请参阅xUnit文档了解概述。

萧宏峻
2023-03-14

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

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

以下是一个链接,其中包含更多详细信息:

  • 在TFS Build vNext中运行xUnit测试
 类似资料:
  • 是因为我的文件名精度设置为秒吗? 是因为我只设置了吗? 或者这是怎么回事? 我的目标是建立一个滚动配置,记录最近5次应用程序运行的情况。

  • 我试图理解jsp操作标记中的属性是如何工作的。据我所知,用于指示bean所在的位置(请求、会话、应用程序等),但经过一些测试后,我遇到了一个有趣的情况,情况并非如此,请考虑以下JSP代码(为了简单起见,我在这里使用scriplets): 所以基本上在这里我创建了2个用户对象并将它们设置为请求和会话范围中的“用户”属性,当我尝试使用从“会话”范围中检索“用户”时,似乎“请求”范围中的“用户”被检索到

  • 当我将inplace属性的值更改为False时,索引"a"中的元素未删除,但当我更改inplace=True value at index"a"时删除。我不明白它是如何工作的。

  • 我刚开始编程,我正在读这本django的书,它说在为登录页面编码的模板中,input的value属性可以在用户成功登录后将用户重定向到主页面。 当我想了解更多信息时,我看到了HTML文档,但是它说value属性接受要提交给服务器的数据,但是它没有说它是如何导致URL中的重定向的。请问value属性是如何导致重定向到URL的? 我添加了Django标签,但我不确定这是否是Django问题。

  • 我在处理Spring boot应用程序项目时注意到,有时在另一台服务器(SQL server)上出现到数据库的连接超时错误。当我尝试使用进行一些脚本迁移时,特别会发生这种情况,但尝试了几次后它仍然工作。 然后我注意到我没有在属性文件中指定。我做了一些研究,发现建议在开发中添加。并在生产中将其更改为:。

  • 问题内容: 第一次使用Java开发,第一次使用Android开发,因此这是一个新手问题。 我目前有以下代码: 简短问题: 什么是 的.class 属性来完成,f.ex. 在’ C = NewTourny 的.class ‘? 为什么我不能将c转换为Tourny(所有这些类的父类)? 长问题: 目前,这可以处理整个应用程序中的所有按钮导航,并且工作正常。但是,如您所见,当我将c强制转换为Class时