首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.NET单元测试艺术-2.核心技术

开篇:上一篇我们学习基本单元测试基础知识和入门实例。但是,如果我们要测试方法依赖于一个外部资源,如文件系统、数据库、Web服务或者其他难以控制东西,那又该如何编写测试呢?...为了解决这些问题,我们需要创建测试存根、伪对象及模拟对象。这一篇我们会开始接触这些核心技术,借助存根破除依赖,使用模拟对象进行交互测试,使用隔离框架支持适应未来和可用性功能。...Step1.我们将和文件系统打交道代码分离到一个单独,以便将来在代码替换带对这个类调用。   ...它设计目标是提供一个优秀测试替代.NET模拟框架。它是一个模拟测试框架,用最简洁语法,使得我们能够把更多注意力放在测试工作,减轻我们测试配置工作,以满足我们测试需求,帮助完成测试工作。...四、小结   本篇我们学习了单元测试核心技术:存根、模拟对象以及隔离框架。使用存根可以帮助我们破除依赖,模拟对象与存根区别主要在于存根不会导致测试失败,而模拟对象则可以。

1.6K20

JustMock .NET单元测试利器(三)用JustMock测试你应用程序

用JustMock测试你应用程序 本主题将指导您通过几个简单步骤来使用Telerik®JustMock轻松测试您应用程序。...您将理解一个简单原理,称为Arrange / Act / Assert,并熟悉框架核心方法和属性,这些方法和属性在最常见测试场景中使用 为了说明下一个例子JustMock用法,我们将使用一个样本仓库...我们用一个简单例子来说明: Mock.Arrange(()=> foo.Echo(Arg.Matches( x => x <10)).Returns(true); 属性 在上面的例子,我们只模拟方法...,但是你也可以用同样方法来模拟属性。...但是在行动步骤,我们将经理设置为“Scott”。这抛出了一个模拟异常。请记住,这只会在您使用StrictBehavior创建模拟时才起作用。 另一个常用技巧是断言将属性设置为特定值会引发异常。

1.1K70
您找到你想要的搜索结果了吗?
是的
没有找到

Hadoop集群日志文件

Hadoop存在多种日志文件,其中master上日志文件记录全面信息,包括slave上jobtracker与datanode也会将错误信息写到master。...而slave日志主要记录完成task任务信息。...这2个文件均是每天生成一个。 3、log日志文件通过log4j记录,大部分应用程序日志消息都写到该日志文件,故障诊断首要步骤即为检查该文件。...【此日志文件最重要】 out日志文件记录标准输出和标准错误日志,由于大多日志均使用log4j输出至log日志文件,因此此文件很小或者为空。系统仅保留最新5个日志。...1、日志文件(syslog) 通过Log4j记录日志 2、保存发到标准输出数据文件(stdout) 3、保存标准错误文件(stderr) 4、log.index (1)tasktracker会记录它所运行所有

1.2K10

ASP.NET MVC 4单页面应用程序

ASP.NET MVC 4 beta包含了一个实验项目,用作开发“单页面应用程序(single page applications)”。...该项目也称为ASP.NET SPA,其项目类型基于一组开源库以及WPF、Silverlight上流行MVVM模式。...它是构建于jQuery和Knockout之上数据访问和缓存库。在示例代码,你会看到有一个与knockout兼容视图模型被自动生成。它内部是基于Upshot函数,用作处理与服务层通信。...服务器端 服务端应用程序框架由普通MVC页面表示,而应用程序各种视图由分离页面(partial pages)表示。在示例,Knockout数据绑定用作动态地显示和隐藏这些页面。...DataController是ASP.NET Web APIApiController子类,后者提供了客户端向服务器提交ChangeSetEntry基本方法。

1.5K70

模拟实现.NETTask机制:探索异步编程奥秘

前言 .NET 中使用Task可以方便地编写异步程序,为了更好地理解Task及其调度机制,接下来模拟Task实现,目的是搞清楚: 1、Task是什么 2、Task是如何被调度 基本Task模拟实现...任务完成当然需要拿到结果,这里Job比较简单,没有模拟具体结果; 2、Task是如何被调度,默认采用基于线程池调度,即创建好Task后,由线程池中空闲线程执行,具体什么时候执行、由哪个线程执行...,开发者是不用关心,在具体执行过程,但由于.NET全局线程池局限,对于一些特殊场景无法满足时(比如需要立即执行Task),此时可以通过TaskCreationOptions更改调度行为; 另外,await...推荐阅读: 使用 C# 开发开源 SSO 单点登录认证框架 EasyCaching:简单高效.NET缓存包 基于.NET、Uni-App开发支持多平台小程序商城系统 - CoreShop...遥遥领先,开源一个 .NET 构建个人网盘 .NET数组在内存如何布局?

20720

MySQL日志文件 你全都了解吗?

简介 该篇文章对MySQL日志进行总结与简单介绍,不会涉及太深。主要目的是为了对MySQL日志文件有一个体系化了解。后面会对每一种日志文件做具体分析与总结。...日志分类 MySQL日志文件,配置文件、错误日志文件、二进制文件(binary log)、慢查询日志(slow-query-log)、全量日志(genera log)、审计日志(audit log...错误日志文件记录了MySQL从启动、运行和关闭几个环节日志信息。...二进制日志文件主要作用如下: 用户主从复制,主服务器将二进制文件物理日志发送给从服务器,从服务器在将日志写入到自身。 用于数据恢复。根据物理日志,找回数据丢失之前操作日志。...当主服务器将二进制文件发送给从服务器时,从服务器不会立马执行,而是放在一个指定一类日志文件,从服务器在开启一个SQL线程去读取中继日志文件内容并写入到自身数据。 ?

1.2K40

.NET开源免费Windows快速文件搜索和应用程序启动器

前言 今天大姚给大家分享一款.NET开源(MIT License)、免费、功能强大Windows快速文件搜索和应用程序启动器:Flow Launcher。...工具介绍 Flow Launcher 是一款方便实用 Windows 文件搜索和应用程序启动器,能够帮助你快速查找文件、启动应用程序和执行系统操作,提高工作效率和操作便利性。...并且生态完善,有插件商店,你可以查看完整插件列表,或通过 "设置 " "插件商店 "菜单快速安装插件。 支持语言 支持拼音搜索。 支持从中文、英文、意大利语等多种语言。.../文件 Ctrl+I 打开流程设置 Ctrl+R 再次运行当前查询(刷新结果) F5 重新加载所有插件数据 Ctrl+F12 在搜索窗口中切换游戏模式 Ctrl++,- 快速更改显示最大结果数 Ctrl...C#、.NET和.NET Core领域最新动态和最佳实践,提高开发工作效率和质量。

10210

Asp.Net Core静态文件-12

目录 本文出自《从零开始学 ASP.NET CORE MVC》目录 推荐文章:配置 ASP.NET Core 请求(Request)处理管道 Asp.Net Core 静态文件 在这个视频我们将讨论如何使...ASP.NET Core 应用程序,支持静态文件,如 HTML,图像,CSS 和 JavaScript 文件。...静态文件 默认情况下,Asp.Net Core 应用程序不会提供静态文件。 静态文件默认目录是wwwroot,此目录必须位于项目文件根目录。 将图片复制并粘贴到 wwwroot 文件。...修改Configure()方法代码,将UseStaticFiles()中间件添加到我们应用程序请求处理管道,如下所示。...但是我没有看到默认文档default.html内容。为了能够提供默认页面,我们必须在应用程序请求处理管道插入UseDefaultFiles()中间件。

1.4K30

浅谈.Net Framework实现文件操作(二)

int bufferSize) //根据指定filepath,创建或重写一个文件 public static StreamWriter CreateText(string path) //加密文件,只有用于加密文件帐户才能对其进行解密...,对文件进行一系列操作。...上一篇文章里面介绍了FileInfo类用法,File类里面的很多功能和FileInfo提供功能类似,并提供了更多方法,通过查看.Net Framework源码,FileInfo类里面有调用File...上一篇文章里面介绍了DirectoryInfo类用法,Directory类里面的很多功能和DirectoryInfo提供功能类似,并提供了更多方法,通过查看.Net Framework源码,DirectoryInfo...= Path.VolumeSeparatorChar; //用于分隔环境变量路径字符串平台特定分隔符 ; char pathSeparator = Path.PathSeparator; //无效字符

34610

AWStats日志文件一些术语解析

那么他访问这些页面都包含在了这次访问,也就是说,每次访问可能会浏览多个网页,一个单独用户可能产生多次访问。(也就是独立IP访问间隔大于一小时日志都被单独记录了下来)。...Pages: 页面 被浏览者访问“页面“数量。通常是HTML、PHP或者其他动态程序文件,不包括图片或者其他类似于js,css文件。...Pages/perVisit: Hits: 点击数 向服务器发出请求文件总数,包括之前提到页面(Pages),但是不包括 SkipFiles 参数中指定文件类型。...Awstats默认显示统计周期是当月。 Bandwidth: 带宽 通过浏览器访问下载页面、图像和文件尺寸大小,默认单位是字节 bytes。...有时会话值会为“未知 Unknown" 这是因为:1、在进行日志统计时候会话仍未结束。2、用户访问发生在一个月最后一天里最后一个小时(由于技术原因,AWStats并未统计这样会话)。

62940

.NET Core 日志与分布式链路追踪

目录 .NET Core 日志与分布式链路追踪 .NET Core 日志 控制台输出 非侵入式日志 Microsoft.Extensions.Logging ILoggerFactory ILoggerProvider...分布式链路跟踪 在不同进程中跟踪 在 ASP.NET Core 中跟踪 OpenTracing API 和 Jaeger 链路追踪实践 .NET Core 日志与分布式链路追踪 程序记录日志一般有两种作用...或者 Ctrl+F 搜索,无法高效率审查日志日志单纯输出到文本文件,没有很好地管理日志。....NET Core 日志 控制台输出 最简单日志,就是控制台输出,利用 Console.WriteLine() 函数直接输出信息。...创建一个 ASP.NET Core 应用程序,在模板中选择带有视图模型控制器模板。

1.4K30

在 Linux 实时监控日志文件命令方法

当你在你 Linux 桌面、服务器或任何应用遇到问题时,你会首先查看各自日志文件日志文件通常是来自应用文本和信息流,上面有一个时间戳。它可以帮助你缩小具体实例,并帮助你找到任何问题原因。...一般来说,所有的日志文件都位于 /var/log 。这个目录包含以 .log 为扩展名特定应用、服务日志文件,它还包含单独其他目录,这些目录包含其日志文件。.../log/dmesg 如果你想监控 http 或 sftp 或任何服务器,你也可以在这个命令监控它们各自日志文件。...使用 lnav(日志文件浏览器) lnav Running lnav 是一个很好工具,你可以用它来通过彩色编码信息以更有条理方式监控日志文件。在 Linux 系统,它不是默认安装。...一旦安装,你可以简单地用管理员权限从终端运行 lnav,它将默认显示 /var/log 所有日志并开始实时监控。

1.6K20

.Net语言 APP开发平台——Smobiler学习日志:快速实现应用图片、声音等文件上传功能

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP开发平台,也许比Xamarin更方便 样式一 一、目标样式 我们要实现上图中效果,需要如下操作: 1.从工具栏上“Smobiler...Components”拖动一个ResourceUploader控件和一个ImageButton控件到窗体界面上 2.ImageButtonClick事件 VB: Private Sub imageButton1..._Click(object sender, EventArgs e) { resourceUploader1.Show(); } 3.修改ResourceUploader控件属性...a.MaxSelectCount属性 设置资源单次上传最大数量,默认设置为“9”,一次最多上传9张图片,如图1; b.QualityMode属性 获取或设置相机组件上传质量模式,默认设置为“Custom

50820

Enterprise Library 3.1 介绍「建议收藏」

也可以很快且容易添加到.NET应用程序。例如,数据访问应用程序块提供了对最常使用 ADO.NET 特征访问,通过易用类来暴露它们。...还有数据访问应用程序块和日志应用程序块功能增加。下面各节将讨论这些和其他在这个发行变化。...2006年1月已合并到 Enterprise Library 核心。 现在可以使用 Visual Studio 创建和修改配置文件。这个配置工具叫做配置编辑器。...单独应用程序改变 单独应用程序重要改变交在以下节描述。它们讨论了数据访问、异常处理和日志应用程序改变。...这个跟踪监听器在当前日志文件超出预定义时间或大小时创建一个新日志文件。 现在包括一个 WCF 适配器,允许你记录 WCF 消息。 现在包括了一个TimeStampToken类改进版本。

75020

在C#.NET应用程序开发创建一个基于Topshelf应用程序守护进程(服务)

文章目录 C#/.NET基于Topshelf创建Windows服务系列文章目录: C#/.NET基于Topshelf创建Windows服务程序及服务安装和卸载 (1) 在C#/.NET应用程序开发创建一个基于...《C#/.NET基于Topshelf创建Windows服务程序及服务安装和卸载》,我们了解发C#/.NET创建基于Topshelf Windows服务程序大致流程,参数配置以及服务安装和卸载。...本文主要演示在C#/.NET应用程序开发创建一个基于Topshelf应用程序守护进程(服务)。...实现守护程序功能 再回到项目[TopshelfDemoService],打开类文件HealthMonitorService.cs,其中定时功能演示是一个检查某系统健康状况任务,现在我们把定时任务功能改为守护某个或者某些应用程序...好了,今天在C#/.NET应用程序开发创建一个基于Topshelf应用程序守护进程(服务)分享就到这里。 我是Rector,希望本文对C#/.NET开发你有所帮助。

2.1K20
领券