摘要:SetUpAttribute (NUnit 2.0 / 2.5) 本特性用于TestFixture提供一个公共的功能集合,在呼叫每个测试方法之前执行。同时也用在SetUpFixture中,SetUpFixture在相同命名空间或者程序集也实现相同的作用。 在NUnit2.5之前,类必须只能有一个... 阅读全文
[置顶][翻译]NUnit---SetUp and SetUpFixture and Suite Attributes(十九)
2014-06-06 11:56 by Max蚊子, 2107 阅读, 0 推荐, 收藏, 编辑[置顶][翻译]NUnit---Maxtime and Ignore and Platform Attributes(十三)
2013-06-13 08:51 by Max蚊子, 1010 阅读, 1 推荐, 收藏, 编辑
摘要:Maxtime特性用于测试方法指定测试用例执行的最大时间(单位:秒)。如果测试用例花费比指定更长的时间来完成测试会被报告为失败。Example[Test, Maxtime(2000)]public void TimedTest(){ ...}Notes: 1.任何断言失败会优先级比超时检查高。 2.如果时间超时,这个特性也不会取消测试用例。仅仅是等待完成测试用例,然后比较运行时间和指定的最大时间。如果希望取消长时间运行的测试用例,参考TimeoutAttributePairwiseAttribute (NUnit 2.5)Pairwise特性用在测试上指定NUnit生成所有可能值对的... 阅读全文
[置顶][翻译]NUnit---Culture and Datapoint Attributes(十)
2013-05-31 21:34 by Max蚊子, 1029 阅读, 0 推荐, 收藏, 编辑
摘要:CultureAttribute (NUnit 2.4.2)Culture特性用来指定一个测试或者fixture运行的文化语言环境。这个设置不影响区域性设置,仅仅用来指定运行测试的文化环境。如果你希望在执行测试中修改文化环境,使用SetCulture特性。如果测试用例指定的文化环境需求不满足则会跳过不执行。在GUI测试用例的树节点保持灰色,状态栏颜色不会受到影响。Culture特性用途之一是在不同文化环境下进行测试。你可以指定特定的文化,像“en-GB”或者非特定区域“de”Test Fixture Syntaxnamespace NUnit.Tests{ using System; us.. 阅读全文
[置顶][翻译]NUnit---Category and Combinatorial Attributes(九)
2013-05-24 22:29 by Max蚊子, 921 阅读, 1 推荐, 收藏, 编辑
摘要:Category特性为suites的测试提供另外一个可替换功能。个别测试用例或者fixtures可能被识别为一个特殊的类别。GUI和控制台程序都允许在运行的测试中包含或者排除指定一系列category。当使用了category是,只有选定等等测试才会执行。未选中的测试则根本不会报告。这个功能在控制台中使用/include and /exclude参数,在GUI中使用单独的Categories选项卡来实现。GUI提供了可视化操作用于随时选择Categories。、Test Fixture Syntaxnamespace NUnit.Tests{ using System; using NUn.. 阅读全文
[置顶][翻译]NUnit---Action Attributes(八)
2013-05-15 21:45 by Max蚊子, 1046 阅读, 2 推荐, 收藏, 编辑
摘要:AttributesNUnit 1.0使用传统的基于继承和命名约定来识别测试。从2.0开始NUnit使用自定义特性来实现。因为NUnit的test fixtures不是从框架类库继承,所以开发人员可以用其他方式轻松的使用继承。由于没有任何命名约定,故名称的选择可以是完全面向通信测试目标。所有NUnit特性都包含在NUnit.Framework命名空间。每个包含测试的源文件都必须声明nunit.framework.dll程序集命名空间的引用。从NUnit2.4.6开始,NUnit特性不再是密封的,任何继承这些特性的特性都能够被NUnit识别。Action Attributes (NUnit 2. 阅读全文
[置顶][翻译]NUnit---Equality Asserts&& Identity Asserts (四)
2013-03-31 09:58 by Max蚊子, 985 阅读, 2 推荐, 收藏, 编辑
摘要:Equality Asserts 这些方法测试两个参数是否相等。语言不自动装修的普通类型可以使用对应的重载的方法。View Code Assert.AreEqual( int expected, int actual );Assert.AreEqual( int expected, int actual, string message );Assert.AreEqual( int expected, int actual, string message, params object[] parms ); Assert.AreE... 阅读全文
[置顶][译]NUnit--Installation(三)
2013-03-29 21:55 by Max蚊子, 1064 阅读, 2 推荐, 收藏, 编辑
摘要:InstallationNUnit安装程序默认安装文件路径为C:\ProgramFiles\NUnit2.6.2。根据用户选择安装的选项,安装文件有三个子文件夹:bin、doc、samples。源码以后不再与安装文件一起打包,提供单独下载。Running NUnit根据电脑不同操作系统,在.NET、Mono等的NUnit安装程序在开始菜单有几个快捷方式。尽管可以在独立进程中运行不同CLR版本的测试,对于NUnit2.5,GUI只能在CLR2.0下运行。Installation VerificationNUnit自带的测试作为安装选项,如果你安装了,你可以通过运行NUnit GUI加载并运行NU 阅读全文
[置顶][翻译]NUnit--Getting Started(二)
2013-03-25 22:08 by Max蚊子, 1773 阅读, 6 推荐, 收藏, 编辑
摘要:Getting Started with NUnit如果你打算开始学习,到下载页面选择一个NUnit版本。安装页面包含了安装说明。开始NUnit阅读Quick Start页面。验证了一个C#银行应用程序的开发过程。查看Samples部分例子,包括了VB.NET、J#以及托管C++。使用哪种形式? NUnit有两种不同方式来测试用例。 A.控制台:NUnit-Console.exe,可以最快的使用,但是不能进行交互。 B.GUI:NUnit.exe,是一个Windows窗体应用程序提供可视化的界面,同时能够可选择性是运行测试。NUnit Quick StartNote:本页面是基于... 阅读全文
[置顶][重构]读书笔记:代码的坏味道的迹象
2013-03-05 17:18 by Max蚊子, 290 阅读, 0 推荐, 收藏, 编辑
摘要:1、重复代码(Duplicated Code) 也许在同一个类中的某两个或者多个函数中有相同的表达式(即代码)--提炼一个新的方法,或者兄弟类中有实现相同功能的方法或者表达式--提炼新的方法并提到适当父类,再有模板方法也是哦,还有其他的迹象,唯一不变的就是看上去实现的相同或者相似的功能。2、过长的函数(Long Method) 当你一个方法动辄两三百行或者五六百行,这里面一定有可以重构的地方,一定是在一个方法里面做了N多件事情,你能够把这样的一个方法拆分为多个新的小的函数,不行你可以回顾自己写个的code。3、过大的类(Large Class) 类太庞大,说明干的事儿就多,那这么多事儿当... 阅读全文
[置顶][测试]单元测试框架NUnit
2013-02-17 14:19 by Max蚊子, 2788 阅读, 1 推荐, 收藏, 编辑
摘要:说到测试,相信大家都或多或少了解。按照各自分类,就自己知道包括 A.单元测试、集成测试、系统测试 B.白盒测试、黑盒测试 C.压力测试、性能测试、安全测试 ...... 反正是太多太多。就做开发以来,就只有自测和交叉测试,基本都是按照需求测试是否实现了相关的业务和什么提示信息、文本长度等细节问题,如果有专门测试人员撰写的用例就也跑一次,然后就是乱点看看有什么异常,然后就交给测试人员测试。 基本都是业务逻辑测试,没有做过单元测试。为了在经济或在技术上进行突破,所以在努力学习各种技术。查看智联招聘上看的招聘信息和阅读园子里面的前辈的文章显示,要想有提升还得懂单元测试才行。 最开始... 阅读全文
[置顶][原创]ASP.NET多语系(1)---前端页面多语系设置
2013-02-07 17:39 by Max蚊子, 1772 阅读, 1 推荐, 收藏, 编辑
摘要:最近在项目中需要使用包括中文简体、中文繁体、英文等多语系。所以留此作为记录。【1】首先是关于浏览器的语言设置问题。如果在项目中使用了多语系资源,但是没有后台控制语言设置,页面设置了那么浏览器会默认显示浏览器语言中的第一个语系(当然,如果项目中没有浏览器设置的语系,则显示项目中设置的默认语系)。【2】项目中多语系设置页面初始代码View Code <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="We 阅读全文
[置顶][原创]慢话interface是值类型还是引用类型
2012-09-07 15:55 by Max蚊子, 2928 阅读, 0 推荐, 收藏, 编辑
摘要:OK!首先不得不说,笔者最开始认为interface是引用类型,为什么呢,那是因为经常看见IList list=...、ICollection list=...这一类的可以拿去指向实现的类的对象或者对象集合,前一段时间看过一篇也是关于讨论interface时值类型还是引用类型的,结果好像说是引用类型,但是看着挺有道理的,最近有空自己试验的一把,得出的结果让我迷惑了,不知道是我错了还是。。。 再来说说,接口不仅可以被值类型的如struct继承,而且可以被class继承,这儿就感觉看到interface不太像是引用类型了,再次就是它是不是值类型的呢,直接代码演示public interfac... 阅读全文
[置顶]【值类型VS引用类型】 And【值传递VS引用传递】
2012-08-10 23:22 by Max蚊子, 970 阅读, 0 推荐, 收藏, 编辑
摘要:以前知道值分为值类型、引用类型,参数传递的时候分为值传递、引用传递,各种书里面、论坛、园里面都有各种解释,但是有些地方是一带而过,没有说很具体。下面就我个人理解说说,以前总是认为他们是有关系的,现在个人理解的是【值类型VS引用类型】 与【值传递VS引用传递】完全没得关系八竿子打不着的事儿。有不同意见的可以大家一起讨论 1、首先说说【值类型VS引用类型】: 值类型(形如:int、bool、struct等等)就是存储在堆栈(其实就是线程栈,基本就是用完了就被操作系统回收了),如上图值类型直接存储了值:A的值为5 引用类型(class 修饰的)是存储在托管堆的是GC来... 阅读全文
[翻译]NUnit---TestCase Attributes(二十一)
2014-07-03 13:55 by Max蚊子, 2606 阅读, 0 推荐, 收藏, 编辑
摘要:TestCaseAttribute (NUnit 2.5) TestCase特性有两个效果,包括标记一个方法使用参数并且在调用的时候提供内置数据。示例如下,本示例会使用不同数据集执行3次: [TestCase(12,3,4)][TestCase(12,2,6)][TestCase(12,4,3)... 阅读全文
[翻译]NUnit---TearDown and SetUpFixture and Test Attributes(二十)
2014-06-09 12:00 by Max蚊子, 1293 阅读, 0 推荐, 收藏, 编辑
摘要:TearDownAttribute (NUnit 2.0 / 2.5) 本特性在TestFixture内部使用,每个测试方法执行后调用的方法集。也可以在SetUpFixture中使用,在同一命名空间或者程序集种相同的功能。 NUnit2.5之前,类只能有一个TearDown方法且必须是示例方法。... 阅读全文
[ASP.NET]uploadify简单使用讲解
2014-02-14 11:05 by Max蚊子, 1699 阅读, 0 推荐, 收藏, 编辑
摘要:背景:在用户控件中使用html 的file控件或者ASP.NET的FileUpLoad控件都无法获取到文件,于是想到听说过的uploadifyuploadify官网:www.uploadify.com直接官网下载相关文件,发现里面有几个php文件,为了不用还配置php于是修改为ASP.NET用法添加UploadHandler.ashx文件及修改代码:public class UploadHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { co... 阅读全文
[翻译]NUnit---Sequential and SetCulture and SetUICulture Attributes(十八)
2013-12-11 09:39 by Max蚊子, 1035 阅读, 1 推荐, 收藏, 编辑
摘要:Sequential特性用于在测试用例上指定NUnit通过为测试提供的参数选择单一值生产测试用例,并且不会生产额外的组合。Note:如果参数数据由多个特性提供,那么NUnit使用数据项的顺序是随机的。不过,对于运行时和操作系统是不会改变的。Example下面的示例会执行3次: MyTest(1, "A") MyTest(2, "B") MyTest(3, null)[Test, Sequential]public void MyTest( [Values(1,2,3)] int x, [Values("A","B" 阅读全文
[翻译]NUnit---RequiresSTA and RequiresThread Attributes(十七)
2013-12-09 20:45 by Max蚊子, 932 阅读, 1 推荐, 收藏, 编辑
摘要:RequiresSTAAttribute (NUnit 2.5) RequiresSTA特性用于测试方法、类、程序集中指定测试应该在单线程中运行。如果父测试不在单线程中运行则会创建一个新的线程。Note: 在测试方法上也可以使用STAThread特性。尽管运行时指挥在执行程序集的入口识别这个特性,但是许多用户希望再测试上工作,所以我们把它作为一个同义词。Examples// An STA thread will be created and used to run// all the tests in the assembly[assembly:RequiresSTA]...// Test.. 阅读全文
[翻译]NUnit---RequiredAddin and RequiresMTA Attributes(十六)
2013-12-09 08:49 by Max蚊子, 794 阅读, 0 推荐, 收藏, 编辑
摘要:RequiredAddinAttribute (NUnit 2.5) RequiredAddin特性用于提示一个程序集需要特殊的插件才能保证功能正常。如果没有安装插件,整个程序集会被标记为未运行。Note:在Alpha-3版本,这个特性可以运用于类或方法。但这是受限制的,主要有2个原因: 1、如由于遗漏了插件,那么这个方法或者类不被认可为一个测试,NUnit一直都不会处理它。 2、如果这个方法或者类又不同的插件处理,插件肯能无法识别这个特性在下个版本中这个特性可能会被限制于程序集。Example[assembly: RequiredAddin("MyTestFixtureAddin& 阅读全文
[翻译]NUnit---Range and Repeat Attributes(十五)
2013-12-08 21:53 by Max蚊子, 897 阅读, 1 推荐, 收藏, 编辑
摘要:RangeAttribute (NUnit 2.5) Range特性用于为参数话测试方法的参数的值范围指定一个值,与Random特性一样,NUnit会将每个参数的值组合为一些了测试用例,所以如果为一个参数设定数据那么必须为所以参数设定数据。默认情况下,NUnit使用参数的数据组合所有可能的情形。同时,可以使用在方法的指定特性上进行更改。 Range特性支持一下构造public RangeAttribute( int from, int to );public RangeAttribute( int from, int to, int step );public RangeAttribute.. 阅读全文
[翻译]NUnit---Property and Random Attributes(十四)
2013-12-08 15:49 by Max蚊子, 1093 阅读, 0 推荐, 收藏, 编辑
摘要:小记:由于工作琐碎,没得心情翻译而且也在看《CLR vis C#》,所以断更了差不多5个月,现在继续翻译,保证会翻译完成,不会虎头蛇尾。 另:NUnit已经更新到2.6.3版本,虽然正在开发2.9.6(据说会大版本更新为NUnit3.0),但是2.6.2的很多东西不会变,只不过会支持.NET4.5的某些新东西,所以笔者会在翻译2.6.2之后会保证也会翻译更新的给大家。也许翻译的不是很好或者不准确,仅给大家提供参考。 有错误的地方,欢迎斧正。废话不多说,上蒸菜:PropertyAttribute (NUnit 2.4) Property 特性使用键值对的形势,为任何测试用例或事例(... 阅读全文