草庐IT

unit-testing

全部标签

c# - 在单元测试中使用 httpcontext

我正在使用C#4.0,我需要对服务进行单元测试。服务内部的函数返回一个类似于我称为预期的变量的路径,这是我期望返回的路径。但是当我运行这个测试时,我得到了HttpContext.Current为NULL的错误。我该怎么做才能解决这个问题,以便可以运行测试?[TestMethod]publicvoidGetPathTest(){varexpected=System.IO.Path.GetFullPath(HttpContext.Current.Server.MapPath("~/Certificates/"));varpath=_mockService.Setup(o=>o.GetPat

c# - 将 JSON 字符串加载到 HttpRequestMessage

我正在为我的WebAPI网络服务编写一些测试,但不知道如何在测试中将JSON发送到我的服务方法。ScheduleRequestsr=newScheduleRequest();sr.Months=null;sr.States=null;sr.Zip=null;sr.Miles=null;sr.PCodes=null;sr.PageStart=1;sr.PageLimit=10;HttpRequestMessagem=newHttpRequestMessage();stringsr_=JsonConvert.SerializeObject(sr);//HowdoIloaditintothe

c# - 单元测试 session 窗口在调试时关闭

当我在单元测试session窗口中选择一个NUnit测试并单击调试时,该窗口消失了。我的断点已命中,但如果我按下F5,单元测试session窗口不会返回,直到测试返回结果或我停止调试session。这使我无法在测试期间查看任何控制台输出。有什么想法吗? 最佳答案 原来是ResharperTestRunner行为不端。答案是使用ReSharper->Windows->UnitTestSessions或Ctrl+Alt+R如果使用IntelliJ快捷方式。 关于c#-单元测试session窗

c# - 单元测试 system.timers.timer

我一直在阅读有关使用计时器和线程进行单元测试的问题。我发现了有关单元测试system.threading.timers的SO问题,但我需要对system.timers.timer进行单元测试,而包装类似乎无法正常工作。我只需要知道如何模拟计时器和/或系统时间,以便对其进行单元测试。我似乎无法在谷歌上的任何地方找到这个。编辑和更新:这是有道理的,如果我通过如下包装提取计时器,我可以生成一个计时器并使用模拟将其替换为不同的计时器。相关的部分是获取我在运行时注入(inject)的计时器(原始的,而不是模拟的)并测试它的已用事件代码。 最佳答案

c# - Async TestInitialize 保证测试失败

在TestInitialize中进行异步调用是不正确的设计,因为TestInitialize必须在任何TestMethod之前发生并且具有固定的签名。这在任何方面都可以是正确的方法来进行异步TestInitialize吗?privateintval=0;[TestInitialize]publicasyncTaskTestMehod1(){varresult=awaitLongRunningMethod();val=10;}[TestMethod]publicvoidTestMehod2(){Assert.AreEqual(10,val);}有什么想法吗?

c# - 如何使用 AutoFixture 在保留类型自定义的同时使用自定义属性进行构建?

我正在尝试使用autofixture来创建一个对象,但我希望某些属性始终为默认属性(而其余属性可以自动生成)。但是,每当我设置自定义项时,它都会在我使用自定义项构建时被覆盖。voidMain(){varfixture=newFixture();fixture.Customize(composer=>composer.With(p=>p.Name,"Ben"));varperson=fixture.Build().With(p=>p.DateOfBirth,newDateTime(1900,1,1)).Create();/*RESULTOFpersonbelowNamenullDateO

c# - MSTest - 如何为 UnitTest 项目初始化 log4net?

我有一个用于测试ASP.NETMVC项目的VisualStudio单元测试项目。将程序集级log4net.Config.XmlConfigurator属性添加到AssemblyInfo.cs不起作用,SO上的其他人发现他们必须直接调用log4net.Config.XmlConfigurator.Configure();问题是,单元测试如何做到这一点?在类方法上使用Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyInitialize属性的答案不起作用。对我来说,这段代码会导致在输出窗口中记录一个InvalidOperationEx

c# - 通过 XmlNamespaceManager 具有默认命名空间的 Xml-SelectNodes 无法按预期工作

我有一些带有默认命名空间的xml并想统计的数量我该如何定义XmlNamespaceManagernsmgr=????Assert.AreEqual(2,doc.SelectNodes("//b",nsmgr).Count);以便断言变为真?到目前为止我已经尝试过(使用nunit):[Test][Ignore("Whydoesthisnotwork?")]publicvoid__DoesNotWork_TestSelectWithDefaultNamespace(){//xmltoparsewithdefaultnamespacestringxml=@"";XmlDocumentdoc=

c# - 如何设置 IConfigurationRoot 的 Mock 以返回值

这个问题在这里已经有了答案:Expressionreferencesamethodthatdoesnotbelongtothemockedobject(4个答案)关闭5年前。我已经使用IConfigurationRoute来访问这样的目录。if(type=="error")directory=_config.GetValue("Directories:SomeDirectory");_config是在构造函数中注入(inject)的IConfigurationRoot。我尝试了下面的方法来模拟它。varmockConfigurationRoot=newMock();mockConfig

c# - 在抛出 AssertFailedException 的单元测试中比较两个数组

我正在为准备好的代码编写单元测试,但在尝试运行其中一个测试时收到意外的AssertFailedException。这是他:[TestMethod]publicvoidTestPositionGetter(){testPlayer.Position=newint[]{1,3};int[]expectedPosition=testPlayer.Position;Assert.AreEqual(expectedPosition,testPlayer.Position);}这是我要测试的Player类中的Position属性:publicint[]Position{get{returnnewi