草庐IT

单元化

全部标签

c# - 单元测试 Web App 时如何模拟应用程序路径

我正在测试MVCHTML帮助器中的代码,该帮助器在尝试获取应用程序路径时抛出错误://appropriatecodethatusesSystem.IO.Pathtogetdirectorythatresultsin:stringpath="~\\Views\\directory\\subdirectory\\fileName.cshtml";htmlHelper.Partial(path,model,viewData);//exceptionthrownhere抛出的异常是System.Web.HttpException:Theapplicationrelativevirtualpat

c# - WPF MVVM Light 单元测试 ViewModels

我不是MVVM模式的常客,这基本上是我第一次使用它。我过去所做的(“普通”WPF)是使用业务层和数据层(通常包含由服务或EntityFramework创建的实体)创建我的View。现在经过一番尝试后,我从MVVMLight创建了一个标准模板并执行了以下操作:定位器:publicclassViewModelLocator{staticViewModelLocator(){ServiceLocator.SetLocatorProvider(()=>SimpleIoc.Default);if(ViewModelBase.IsInDesignModeStatic){SimpleIoc.Defa

c# - 单元测试表达式树

我最近需要构建一个表达式树,所以我写了一个像这样的测试方法....../////////[TestMethod()][DeploymentItem("WATrust.Shared.Infrastructure.dll")]publicvoidBuildForeignKeysContainsPredicate_shoud_build_contains_predicate(){RemoteEntityRefLoader_Accessortarget=CreateRemoteEntityRefLoader_Accessor();ListforeignKeys=newList(){1,2,3,

c# - 摆脱单元测试对 StreamReader/FileStream 的依赖的好方法是什么?

场景如下:我有一个方法可以通过.NET中的FileStream和StreamReader读取文件。我想对这个方法进行单元测试,并以某种方式删除对StreamReader对象的依赖。理想情况下,我希望能够提供我自己的测试数据字符串,而不是使用真实文件。现在,该方法始终使用StreamReader.ReadLine方法。修改我现在的设计以使该测试成为可能的方法是什么? 最佳答案 取而代之的是Stream和TextReader。然后您的单元测试可以使用MemoryStream和StringReader。(或者如有必要,从测试程序集中加载资

c# - 如何获取行数据绑定(bind)事件中单元格的值?以及如何检查单元格是否为空?

我正在使用sqldatasource和GridView。我想在RowDataBound事件中从GridView获取单元格的值?,因为我不能使用e.RowIndex。如果单元格为空,如何检查更新事件?我使用了if!=null,但它没有用,所以我需要检查它是否为空。谢谢 最佳答案 在RowdataBound事件中,您可以使用以下代码从gridview中获取单元格的值:[1]//从特定行获取用户名stringservicename=Convert.ToString(DataBinder.Eval(e.Row.DataItem,"Name"

c# - 单元测试和验证逻辑

我目前正在为包含验证例程的业务逻辑类编写一些单元测试。例如:publicUserCreateUser(stringusername,stringpassword,UserDetailsdetails){ValidateUserDetails(details);ValidateUsername(username);ValidatePassword(password);//createandreturnuser}我的测试夹具是否应该包含对Validate*方法中可能发生的每个可能的验证错误的测试,还是最好将其留给一组单独的测试?或者验证逻辑应该以某种方式重构?我的理由是,如果我决定测试Cr

c# - 使用最小起订量模拟 HttpContext 进行单元测试

这个问题在这里已经有了答案:HowdoImocktheHttpContextinASP.NETMVCusingMoq?(6个答案)关闭8年前。我需要一个HttpContext的模拟来进行单元测试。但我正在为此苦苦挣扎。我正在创建一个方法,该方法将通过SessionIdManager以编程方式更改sessionId。并且SessionIdManager需要HttpContext而不是HttpContextBase。但是我找不到任何模拟HttpContext的例子。那里的所有示例都只是为了制作HttpContextBase。我在下面试过,但它们没有用HttpContexthttpConte

c# - 哪些单元测试框架以及如何开始(针对 asp.net mvc)

我以前从未做过单元测试,但现在我愿意尝试一下。什么框架最适合初学者?优点和缺点在开始任何编码之前我应该​​阅读什么?书籍/文章/代码/博客是否有任何开源“示例项目”?我将使用asp.netmvc/C#来使用它。 最佳答案 如果您在VisualStudio中集成了单元测试(我认为它是Professional的一部分并且更好),请从它开始,因为它是集成的。不利之处在于,据我所知,在VisualStudio或TeamFoundationServer之外没有测试运行程序会取消其自动测试资格,但我不确定该信息的最新情况。其他选择是xUnit.

c# - WebApi 2 中的单元测试 IAuthenticationFilter

我正在尝试对我为WebApi2项目编写的基本身份验证过滤器进行单元测试,但我无法模拟OnAuthentication调用中所需的HttpAuthenticationContext对象。publicoverridevoidOnAuthentication(HttpAuthenticationContextcontext){base.OnAuthentication(context);varauthHeader=context.Request.Headers.Authorization;...therestofmycodehere}我试图为模拟设置的实现行是设置authHeader变量的行

c# - 如何对 HttpContext.SignInAsync() 进行单元测试?

SignInAsync()SourceCode我在单元测试中遇到了一些问题。DefaultHttpContext.RequestServices为null我试图创建AuthenticationService对象,但我不知道要传递什么参数我该怎么办?如何对HttpContext.SignInAsync()进行单元测试?待测方法publicasyncTaskLogin(LoginViewModelvm,[FromQuery]stringreturnUrl){if(ModelState.IsValid){varuser=awaitcontext.Users.FirstOrDefaultAsy