【c# – 断言没有方法被调用】教程文章相关的互联网学习教程文章

c#-从收到的调用中提取参数并对其进行断言【代码】

如何从收到的呼叫中对参数进行断言?下面的示例不起作用,因为从未调用传递给Arg.Do()的操作.IEnumerable<Tuple<string, string>> receivedlArgs = null; provider.Received(1).SetValuesAsync(Arg.Do<IEnumerable<KeyValuePair<string,object>>>(args =>{receivedlArgs = args.Select(a => new Tuple<string, string>(a.Key, a.Value.ToString()));}));// assert (using FluentAssertions - but just for the example) receivedlAr...

C#-NSubstitute与PRISM EventAggregator:断言调用方法会触发具有正确有效负载的事件【代码】

考虑以下更新人员并通过PRISM EventAggregator发布事件以表明该人员已更新的方法. 我想对消息以正确的有效负载发送进行单元测试.在这种情况下,这意味着正确的personId.public void UpdatePerson(int personId) {// Do whatever it takes to update the person// ...// Publish a message indicating that the person has been updated_eventAggregator.GetEvent<PersonUpdatedEvent>().Publish(new PersonUpdatedEventArgs{Info = ...

c#-流利的断言将字符串与Guid比较【代码】

我试图找到最流畅的方式来断言某个字符串是有效的Guid. iterTags.GUID是一个字符串. 我的第一次尝试以错误结束,因为字符串没有实现Guid.好吧,我看到它来了,因为它是在黑暗中拍摄的iterTags.GUID.Should().BeAssignableTo<Guid>();所以我想出了这个可行的解决方案,但它不流利Guid parsedGuid; if (!Guid.TryParseExact(iterTags.GUID, "D", out parsedGuid))Assert.Fail("iterTags.GUID: '{0}' is not a valid guid");阅读documenta...

c# – 继续断言【代码】

断言后有什么方法可以继续测试吗? ..我需要查看断言导致的所有情况.foreach (var ex in data) {Assert.AreEqual(ex1, ex, msg); }解决方法:不,你不能 – 如果失败,Assert将抛出一个异常,你不能继续在异常之后继续.您可以捕获异常,然后将它们添加到集合中……但它并不是非常好. 如果您尝试基本测试几种不同的情况,大多数现代单元测试框架都有参数化测试的方法,以便每个案例最终作为单独的测试,并单独报告通过/失败标准.我们不知道您...

c# – 断言没有方法被调用【代码】

我怎么断言没有调用存根/模拟对象的方法?对于单个方法,它非常简单,只需调用Stub(x => x.METHOD()).Repeat.Never()但是如果你有很多方法或许多重载方法,那就不方便了. 这有一个整洁的解决方法吗?解决方法:我没有真正使用过犀牛模拟,但正如@Lee在他的评论中建议的那样,你应该能够在没有任何其他期望的情况下使用StrictMock后达到效果.因此,鉴于以下测试:public void TestStrickMock() { var mockRepo = new MockRepository...

c# – 将枚举与自定义Fluent断言等效步骤进行比较【代码】

我正在尝试为Fluent Assertions编写自定义Equivalency Step,以将主题侧的Enum值与异常侧的字符串进行比较. 我似乎面临的问题是,在调用EquivalencyStep之前,传入IEquivalencyStep的主题类型已转换为字符串. 在流畅的断言中是否有一些魔法正在尝试将枚举直接转换为字符串? 代码示例如下:public class SubjectClass {public EnumType Prop1 { get; set; } }public enum EnumType {A,B,C }public class ExpectionClass {public strin...

c# – 使用表达式编写自己的断言函数【代码】

我想创建自己的Assert方法,类似于下面的代码,但它不起作用.// Method Usage Argument.Assert(() => Measurements.Count > 0);// Method Implementation public static void Assert(Expression<bool> expression) {bool value = expression.Compile();if(!value){throw new InvalidOperationException("Assert: " + expression.ToString() + " may not be false!");} }我在这做错了什么?错误是:’错误1无法将lambda转换为类型参数...

c# – 如何保持单元测试DRY和减少断言【代码】

我正在尝试使用TDD方法实现webserviceclass,它发送一堆webrequests并解释响应.我将webrequests封装在几个接口中,以便我可以轻松地模拟它们.通过webserviceclass请求某些内容时,实现的方法始终返回包含错误对象的特定响应对象.在此错误对象的帮助下,用户可以确定请求是否成功,以及特定错误是什么. 在写了一堆测试之后,我意识到我在编配阶段重复了很多次:var mock = new Mock<ISomeWebservices>(); var sut = new MyWebServiceClass...

C#Webdriver – 在页面加载之前页面标题断言失败【代码】

当我从www网站上的测试切换到我的localhost版本时,这个问题就开始了.在VS 2012中工作,我将开始调试,以便localhost处于活动状态,分离进程以便我可以对其进行测试,然后运行我喜欢的任何测试.一个非常基本的例子:[Test]public void CanGoToHomePage(){Pages.HomePage.Goto();Assert.IsTrue(Pages.HomePage.IsAt());}它引用的功能如下:public class HomePage{const string Url = "http://localhost:3738";const string HomepageTitle...

c# – 此测试中有多个断言错误?【代码】

我正在尝试测试一个名为Login的方法,当用户和密码参数正确时,设置两个会话变量和三个cookie的值,最后返回true. 我一直在阅读几篇关于单元测试的帖子,但不知怎的,这并没有让我对我的情况完全清楚.我知道每单元测试应该只有一个断言,尽管只要测试一个“逻辑概念”就可以使用多个断言. 登录方法是唯一正确的,如果设置正确的每一个会话变量和cookie,并返回预期值,所以我不知道这是否将是确定一次检查所有这些值(这将导致我可以引用六个...