草庐IT

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

c# - 如何在每个单元格中设置具有不同数据源的 DataGridView ComboBoxColumn?

我正在设置一个DataGridViewComboBoxColumn像这样:varnewColumn=newDataGridViewComboBoxColumn(){Name="abc"};newColumn.DataSource=newstring[]{"a","b","c"};dgv.Columns.Add(newColumn);这有效:每一行在该列中都有一个下拉框,其中填充了a、b、c。但是,现在我想为某些行修剪列表。我正在尝试像这样设置每行的列表:foreach(DataGridViewRowrowindgv.Rows){varcell=(DataGridViewComboBox

c# - 在 C# 中禁用单元测试的超时

我遇到了一个问题,我的测试在30分钟后超时。关于设置无限超时的任何想法?我试过Timeout(0),但它在30分钟后仍然会超时。我在VisualStudio2008中运行这些单元测试。 最佳答案 由于30分钟是VisualStudio测试框架中单元测试的默认超时,我猜测这就是您所指的。如果不是,请提供更多详细信息。您至少可以通过两种方式设置此超时:用属性修饰特定的TestMethods:[Timeout(TestTimeout.Infinite)];或使用测试->编辑测试设置->[您正在使用的设置]->测试超时。请注意,如果您使用(