草庐IT

Controller测试

全部标签

c# - ASP.NET MVC(异步)CurrentCulture 不在 Controller 和 View 之间共享

我有一个以.NETFramework4.7.1为目标的ASP.NETMVC4应用程序,如果操作包含异步调用,则存在文化在Controller和View之间不共享的问题。我正在引用NuGet包Microsoft.AspNet.Mvc5.2.3(并且可以在5.2.4中复制)。这是Controller中的代码:publicclassCulturesTestController:Controller{publicasyncTaskIndex(stringvalue){Thread.CurrentThread.CurrentCulture=CultureInfo.GetCultureInfo("

c# - 在 Controller 级别设置 NullValueHandling

目前,我想从我的api响应中排除空值,所以在我的startup.cs文件中,我有这个。services.AddMvc().AddJsonOptions(options=>{//Setupjsonserializeroptions.SerializerSettings.ContractResolver=newCamelCasePropertyNamesContractResolver();options.SerializerSettings.NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore;});但是是否可以声明在1个或

c# - 服务 Controller 权限

我编写了一个服务,网站可以使用ExecuteCommand方法远程执行命令。我注意到,如果网站不是在远程计算机上的管理员用户下运行,那么我在尝试执行命令时会收到权限被拒绝的异常。servicecontroller类甚至不允许您指定任何身份验证参数。这是正确的吗?是否有用户需要的一组特定权限而不是管理员权限,因为我不愿意将我们集群中的所有网络服务器用户添加为服务机器上的本地管理员? 最佳答案 您必须暂时为当前线程模拟管理员用户,然后恢复。查找WindowsIdentity.Impersonate()在MSDN中。ServiceCont

c# - 使用 Mock IDbSet 对 Entity Framework 进行单元测试

我以前从未真正做过单元测试,而且我在第一次测试时跌跌撞撞。问题在于_repository.Golfers.Count();始终指示DbSet为空。我的测试很简单,我只是想添加一个新的高尔夫球手[TestClass]publicclassGolferUnitTest//:GolferTestBase{publicMockGolfEntities_repository;[TestMethod]publicvoidShouldAddNewGolferToRepository(){_repository=newMockGolfEntities();_repository.Golfers=new

c# - 你如何(单元)测试数据库模式?

当有很多人从事一个项目时,所有人都可以更改数据库模式,单元测试/测试/验证它的最简单方法是什么?到目前为止,我们的主要建议是为每个表编写测试以验证列名、约束等。有没有其他人做过类似/更简单的事情?我们将C#与SQLServer结合使用,如果这有任何真正的区别的话。更新:我们正在处理的项目部分使用SSIS包来完成大部分工作,因此只有很少的C#代码可以再次编写单元测试。用于创建表/存储过程的代码分布在SQL文件中。由于构建系统,我们也可以维护一个单独的VSDB项目文件,但我不确定这将如何帮助我们验证架构。 最佳答案 一个可能的答案是使用

c# - 是否可以使用数据注释来验证传递给 Controller ​​的 Action 方法的参数?

我正在使用数据注释来验证我在ASP.NETMVC中的模型。这适用于具有复杂参数的操作方法,例如,publicclassParams{[Required]stringParam1{get;set;}[StringLength(50)]stringParam2{get;set;}}ActionResultMyAction(Paramsparams){If(ModeState.IsValid){//DoSomething}}如果我想将单个字符串传递给操作方法(如下所示)怎么办?有没有一种方法可以使用数据注释,或者我是否必须将字符串包装到一个类中?ActionResultMyAction(st

c# - 构建用于测试的 HttpContext,如何指定 HttpRequest 是 POST?

我正在为将HttpContext作为参数的方法编写一些单元测试。当请求是POST时,我想测试行为是否符合预期。创建System.Net.HttpWebRequest时很容易设置方法,但我看不到在创建System.Web.HttpRequest时指定方法的方法,这是在HttpContext中使用的方法。有什么想法吗?对于上下文,该方法由httphandler调用,如果请求不是POST,它应该抛出405。我知道我可以使用web.config中的Verbs属性过滤允许的方法,我会的,但是没有什么可以阻止将来有人更改verbs属性以允许其他方法,在这种情况下我希望处理程序注意它本身。当前使用的

c# - 在 Web.API Controller 中自动反序列化为类似字符串的类

我有一个Web.API端点,它将这样的对象作为参数:publicclassPerson{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicintAge{get;set;}publicUserNameUserName{get;set;}}例如:[Route("api/person")][AcceptVerbs("POST")]publicvoidUpdatePerson(Personperson){//etc.}(这只是一个例子-我们实际上并没有通过我们的Web.API端点接受用户名)我们的UserNam

软测入门(五)接口测试Postman

Postman一款Http接口收工测试工具。如果做自动化测试会使用jemter做。安装去官网下载即可。https://www.postman.com/downloads/?utm_source=postman-home功能介绍页面上的单词基本上都能了解,不多介绍。转代码&注释可将接口的访问转为其他语言的代码,或者给接口设置一个注释发送请求请求信息设置完毕后,点击send按钮发送请求即可。实例请求地址(网上一些免费API):https://www.thecocktaildb.com/api/json/v1/1/search.php?s=margarita返回结果。集合测试批量运行接口假如有一个C

软件测试经验:网站测试的主要方法

一、功能测试对于网站的测试而言,每一个独立的功能模块需要单独的测试用例的设计导出,主要依据为《需求规格说明书》及《详细设计说明书》,对于应用程序模块需要设计者提供基本路径测试法的测试用例。1、链接测试链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面:1)测试所有链接是否按指示的那样确实链接到了该链接的页面;2)测试所链接的页面是否存在;3)保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成