摘要: 最早的时候,Nunit使用继承和命名约定来确认方法或类是用来测试的。但从2.0开始,开始使用了自定义特性custom attributes:这样你不必继承一个特定的类,可以自由的规定类的层次;没有了命名约定,你可以按方法的意图来命名。所有的NUnit特性attributes都包含在NUnit.Framework的命名空间中,因此每个文件都应该引用这个命名空间,你的测试项目也应该引用nunit.framework.dll的程序集。从2.4.6开始,NUnit特性attributes不再是封闭的sealed,任何继承自它们的特性attributes都会被识别。Nunit提供了36种可供使用的特性a 阅读全文
posted @ 2011-10-27 17:50 for certain 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 从2.4之后,NUnit就采用了新的“基于约束”的模型,所有的断言都是在约束的基础上的来实现的。正如前文所说的,我们可以用同一个方法和不同的约束实现不同的断言。这个方法,有相当数量的重载版本:Assert.That( object actual, IResolveConstraint constraint );如果你继承自AssertionHelper类实现自己的test fixture class , 可以用 Expect() 方法替代 of Assert.That()...Expect( object actual, IResolveConstraint constraint );我们可以 阅读全文
posted @ 2011-10-22 11:27 for certain 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 断言是任何一个xunit框架的核心,nunit中的Assert类,它提供一系列丰富的静态方法来供我们调用。如果一个断言失败,这个方法不会返回但是会报告一个错误,那么断言之后的代码就不会被执行,因此,最好在一个测试中包含一个断言。经典模型在Nunit2.4以前,使用经典模型:每一个断言调用一个单独的方法。如:// 测试两者是否相等Assert.AreEqual( int expected, int actual );// 测试两个对象是否是同一个引用Assert.AreSame( object expected, object actual );基于约束(Constraint-based)模型. 阅读全文
posted @ 2011-10-17 13:26 for certain 阅读(1252) 评论(0) 推荐(0) 编辑
摘要: Nunit是.net平台下的单元测试框架,来自于junit,同属于xunit的一员,现在正式发布的版本已经更新到2.5.10,如果还没有安装的可以去下载,nunit官网.尽管现如今的vs已经集成了自己的单元测试,用起来还是相当的方便,但是我们了解一些.net平台下的源的项目时或一些示例时,测试框架无不是nunit,因此对nunit进行一些了解还是非常必须的。开始当你安装之后,会有两种不同的方式来运行你的的测试。控制台运行nunit-console.exe,运行最快,但是不利于交互;图形运行nunit.exe,一个win form的应用程序,提供一个图形界面,让你更直观的控制你的测试运行。安装完 阅读全文
posted @ 2011-10-12 16:21 for certain 阅读(790) 评论(1) 推荐(0) 编辑
摘要: swfobject是什么?它是一个开源的javascript工具类,我们可以在google code上很容易的找到它:http://code.google.com/p/swfobject/。它提供了一个统一的方式让我们很轻松的在网页中嵌入flash内容,而不用去考虑任何平台和浏览器的特殊标记,及它们对flash的支持能力。无论你是页面制作、flash制作或者js的开发,你都可以找到一个适合的方式嵌入flash内容。其次,它还提供了一些API,让你能够去检测当前浏览器对flash支持的一些信息,让你可以轻松的完成你的逻辑。据官方说文件只有10kb,gzip之后只有3.9K。如何用swfobjec 阅读全文
posted @ 2011-07-24 11:01 for certain 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 换了新公司,公司的项目中有用到Castle,第一次接触,便去了解了一下,其下有很多的子项目,感觉很强大,值得深入的学习。Castle官网:http://castleproject.org/。园子里介绍Castle的文章也很多,推荐两个:http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html,http://www.cnblogs.com/wj/archive/2005/06/22/179357.html。园子里这些大牛们写这些文章都是05年左右的,到现在Castle也是发生了不少的变化,例如代码的方式,像其中简. 阅读全文
posted @ 2011-07-09 12:03 for certain 阅读(1800) 评论(0) 推荐(0) 编辑
摘要: 任何一个网站,都是离不开导航或菜单,为了让用户清楚的知道自己身处何方,“面包屑”路径也是经常被的应用的。但是,当前所属菜单的选中样式也是同样是经常被采用的。 例如我们经常用到的google音乐的这种样式:。 像这种菜单,基本每个页面都会出现的,我们肯定会做一个控件来到处引用或者放到母版页里,这样就会出现选中的问题。呵呵,当然实现的方法也是多种多样,现在就说说自己的两种比较简单的解决方法,都是通过js实现。 1,让页面本身去实现选中 这种方法要让每个菜单项可以被页面的js调用,基本的方法就是:为菜单的每一项加一个id,写一个js的方法,去获取选中状态的菜单项,动态把样式添加上。很简单,但是每个. 阅读全文
posted @ 2011-03-31 10:50 for certain 阅读(936) 评论(5) 推荐(0) 编辑
摘要: 换了新工作,接触到了新的环境,新的项目接触到了新的知识。呵呵,新知识之一:枚举。这最基本的知识了,早都接触过,但是用的地方还不太多。仔细了解一下,发现能用到地方还真不少。 应用场景: 像这样表单中存多选的,估计谁都遇到过,解决方法当然也很多。 方法1: 数据字段设成nvarchar,保存格式如 |id1|id2|id3|,我之前项目就是这样做的,完成需求绝对不成问题:提取选择 id2 的数据时,只要该字段中出现 |id2| 文字数据就OK。 方法2: 另外创建一个表,也就所说的一对多,表连接,提取时 inner join就行了 方法3: 用枚举。上代码: 定义枚举: /// <su... 阅读全文
posted @ 2011-03-14 15:33 for certain 阅读(672) 评论(2) 推荐(1) 编辑
摘要: ajax的应用在当今web项目上,到处都是最常见也用的最多的地方就应该是登录、表单和搜索提示了。今天分享下自己用到的搜索下拉提示。 第一步,是前台展示的时候://输入框<input type="text" id="textword" onkeyup="showtip(event,this);" onkeydown="regword(this);" onclick="showtip(event,this);event.cancelBubble = true;event.returnValue = fa 阅读全文
posted @ 2011-01-27 11:16 for certain 阅读(1318) 评论(0) 推荐(1) 编辑
摘要: 工作了也两年了,因为认真研读过 professional javascript for web developers 一书的翻译版,一直自以为自己js水平可以,因此工作中对于很多的js框架很不感冒,尽管也研究过这些框架,也认为确实很强大。自己工作中的遇到的就弄个自己的简单的实现,这个ajax的封装也主要代码是来自 professional javascript for web developers ,只是做了一些处理,对于应付自己工作的需求已是足够了。 首先,先展示一下怎样调用//定义回调函数 function handleresponse(XMLHTTP) { if (XMLHTTP.r.. 阅读全文
posted @ 2011-01-25 13:45 for certain 阅读(662) 评论(0) 推荐(0) 编辑