草庐IT

unit-testing

全部标签

c# - Rhino 模拟 - AssertWasCalled : How to improve unclear diagnostic message when incorrect arguments

恕我直言,RhinoMocks在使用AssertWasCalled时会产生一条不清楚的诊断消息,以验证是否已使用特定参数调用方法。例子:interfaceISomeInterface{voidWrite(strings);}[TestFixture]publicclassSomeTests{[Test]publicvoidWriteShouldBeCalledWithCorrectArguments(){//Arrangevarmock=MockRepository.GenerateMock();varsut=newSomeClass(mock);//Actsut.DoSomethin

c# - 使用 Moq 通过任意键和值设置任意

在问题的最后:UsingMoqtosetindexersinC#,有人强调了我也遇到的问题。但他们没有找到解决方案。具体来说,我正在尝试使用通用It.IsAny作为键的匹配器并通过It.IsAny设置值.当通过索引访问并设置值时,它从不匹配并且不访问我的回调方法。所以我的单元测试失败了。varstateTable=newHashTable;varhttpSession=newMock();//worksviahttpSession.Add(key,value);httpSession.Setup(x=>x.Add(It.IsAny(),It.IsAny())).Callback((st

c# - 对 REST 客户端进行单元测试

我对单元测试相当陌生,但我正在尝试将它纳入我编写的任何新代码(包括错误修复)的开发过程中。我正在使用REST客户端与Highrise(37Signals)进行通信。如何在不依赖外部依赖的情况下对其进行单元测试?(REST服务)。例如,我将有一个名为GetPeople()的方法我想要单元测试的东西...该方法返回帐户中的正确人数。如果帐户中没有人,该方法返回null如果无法连接到服务,该方法将抛出异常。我该怎么做才能测试该服务是否仍能正常运行。I.E人还有名字吗?我可以对此进行单元测试还是更多的是集成测试? 最佳答案 我假设您的代码现

c# - 为什么 Assert.AreEqual() 在比较之前转换为对象?

我正在编写一些单元测试,但以下断言失败了:Assert.AreEqual(expected.Episode,actual.Episode);如果我改为调用它,它会成功:Assert.IsTrue(expected.Episode.Equals(actual.Episode));我曾假设Assert.AreEqual()最终会针对给定的类型调用Equals()方法,在本例中为Episode.Equals()。但是,在Microsoft.VisualStudio.TestTools.UnitTesting.Assert的幕后,我发现了以下代码(由ReSharper反编译):publicst

c# - Xamarin 表单单元测试

为XamarinForms应用程序编写单元测试的方法是什么(相对于XamarinTraditional,即Xamarin.Android、Xamarin.IOS或Xamarin.UWP)?谁能很好地解释Xamarin.Forms中的单元测试与XamarinTraditional中的单元测试?关于如何实现Xamarin.Forms测试的很好的解释文章,是否需要它们,或者我们是否应该为每个平台编写单元测试?我已经阅读了很多文章,但还没有找到一篇从在VisualStudio中创建单元测试项目类型到编写和运行测试的文章。他们大多从中间的某个地方开始讨论DI或ServiceLocator(就像这

c# - 在名为 test113.onmicrosoft.com 的租户中找不到名为 HTTPS ://test113. onmicrosoft.com/FTP 的应用程序

我必须针对AzureAD对应用程序进行身份验证。我已经创建了WebAPI并将其添加到AzureAD应用程序部分。更改了list文件,创建了一个WebAPI并使用AzureAD进行了身份验证,并创建了一个Windows窗体,其中包含以下代码:privateasyncvoidbutton1_Click(objectsender,EventArgse){stringauthority="https://login.windows.net/test113.onmicrosoft.com";stringresourceURI="https://test113.onmicrosoft.com/ft

c# - 使用 HttpServer 或 HttpSelfHostServer 对 Web API 进行单元测试

我正在尝试为WebAPI项目做一些单元测试。我要模拟WebAPI托管环境。看来我可以使用内存主机(HttpServer)或自主机(HttpSelfHostServer)。只是想知道有什么区别,哪种技术有什么用处,这些选项是否有任何限制。 最佳答案 您应该使用内存主机进行端到端测试,然后单独测试您环境的网络连接。出于多种原因:Inmemoryhost,顾名思义,完全在内存中运行,所以速度会快很多自托管需要以提升的权限运行,因此您的测试需要在“管理员”身份的上下文中执行。这远非所愿。如果你想从即构建脚本或从PowerShell执行测试,

c# - 如何模拟返回 Task<IList<>> 的方法?

我正在尝试对返回任务的方法进行单元测试>:voidMain(){varmockRepo=newMock();mockRepo.Setup(x=>x.GetAll()).Returns(newList(){newMyModel{Name="Test"}});//worksmockRepo.Setup(x=>x.GetAllAsync()).Returns(Task.FromResult(newList(){newMyModel{Name="Test"}}));//errorvarresult=mockRepo.Object.GetAll();result.Dump();}publicin

c# - 如何从 Visual Studio 2012 项目中删除 Fakes 程序集?

我添加了一个Fakesassembly到VisualStudio2012C#单元测试项目,通过“AddFakesAssembly”引用上下文菜单选项。完全删除Fakes程序集(即撤消我将其添加到项目中)的过程是什么? 最佳答案 从VisualStudio2012RTM开始,要从单元测试项目中完全删除Fakes程序集,您需要:从项目的Fakes文件夹中删除.Fakes文件从项目的(隐藏)FakesAssemblies文件夹中删除.*文件从项目中删除.Fakes程序集引用 关于c#-如何从V

c# - RhinoMocks - 获取被调用函数的参数

使用RhinoMocks-我可以获取被调用函数的参数吗?我是说;我可以从函数调用中获取一些未知参数吗?我有一个模拟,我希望在这个模拟上调用一些函数。我知道其中一个参数,但另一个参数是未知的,因为它来自使用模拟并在其上调用函数的类。更具体地说——在这种情况下——未知参数是一个lambda函数。这是一个回调函数,应该在函数完成执行时调用。由于模拟阻止调用回调,我想获取它并自己调用它。所以;我想检查函数是否被调用。我想确保一些论点是预期的。我想找出未知的参数,然后再对它们进行一些操作。假设两个参数都是整数(为简单起见)我想做这样的事情:intunknownInt;_fakeSomething