`
coconut_zhang
  • 浏览: 544253 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论
文章列表
5 .测试生命周期合约 如果记得test case的定义,其中一个属性是测试的独立性或隔离性.SetUp/TearDown方法提供达到测试隔离性的目的.SetUp确保共享的资源在每个测试运行前正确初始化,TearDown确保没有运行测试产生的遗留副作用. TestFixtureSetUp/TestFixtureTearDown同样提供相同的目的,但是却在test fixture范围里,我们刚才描述的内容组成了测试框架的运行时容器(test runner)和你写的测试之间的生命周期合约(life-cycle contract). 为了描述这个合约,我们写一个简单的测试来说明什么方法调用了,怎么合适 ...
1、初识NUnitNUnit是一个开源单元测试框架,它提高一套API,同时拥有自己的GUI,如下:  在此不想过多地讨论GUI的布局和功能,毕竟这个GUI还是简单易用的,各个面板和菜单的功能都是很直观的,一看就明白了。 2、NUnit常用属性(1)TestFixture:这个属性标记一个类是测试用例类,也就是说NUnit根据这个数据判断一个类是否是测试类。当然,NUnit对测试类也是有要求的:类必须是Public的;必须有一个默认的构造函数;默认的构造函数不应该有任何副作用。引用个例子如下: using System;using NUnit.Framework;[TestFixture ...
简介编写单元测试是一种验证行为,更是一种设计行为。同样,它更是一种编写文档的行为。编写单元测试避免了相当数量的反馈循环,尤其是功能验证方面的反馈循环。虽然由程序开发人员自己写Unit Tests(单元测试)来测试自己 ...
    在ASP.NET中,.NET Framework为我们提供了丰富的基类,为了能在程序中引用这些基类,我们必须先引用这些基类的命名空间。我们都知道,如果我们想在C++中引用一个文件函数时,我必须先调用该文件,例如<#include studio.h>,其实它和ASP.NET中命名空间的引用是同一原理。但是它们又有本质上的区别。     在ASP.NET中,命名空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名 ...
分页,是WEB开发中面对的最常见的编程,实现方法多种多样。我也不来评论这些方法的好坏。 但我总感觉它们太复杂,不够清晰不够简单。我十分欣赏PHP中一个Pager.php分页类的算法。http://www.phpclasses.org/browse/file/288.html,作者不详。也在不同的项目中把这种思想转换成不同语言的分页类,你不妨也试试。 这种算法的思路是这样的: 1、把分页后的数据抽象为一个类,你可以把它想象成一个双向链表的一个结点。 结构如下:  //页类public class Page{    public int pageno { get; set; }//页 ...
在结点中设两个引用域,一个保存直接前驱结点的地址,叫prev,一个直接后继结点的地址,叫next,这样的链表就是双向链表(Doubly Linked List)。  双向链表的结点结构示意图如上,双向链表结点的定义与单链表的结点的定义很相似,因此,双向链表节点类的实现可以参考单链表的节点类。 C#实现: 1接口 引用线性表的接口IListDS<T> 2实现 (1)双向链表节点类,参考单链表的节点类  public class DBNode<T>{    private T data;              //数据域    private DBNo ...
在C#中使用一个类时,分两个阶段。首先需要定义这个类,即告诉编译器这个类由什么字段和方法组成。然后(除非只使用静态方法)实例化类的一个对象。使用委托时,也需要经过这两个步骤。首先定义要使用的委托,对于委托,定义它就是告诉编译器这种类型代表了那种类型的方法,然后创建该委托的一个或多个实例。定义委托是从delegate开始的然而它是如何运作的呢。也许弄个鼠标事件会容易理解一些,这里还是拿出书中的例子来。   using System; namespace Wrox.ProfCSharp.AdvancedCSharp{   delegate bool CompareOp(object lhs ...
委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、委托和事件对Observer设计模式的意义、.Net Framework中的委托和事件,对它们的中间代码也做了讨论。  将方法作为方法的参数  我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问候的话语:p ...
1.委派的实现过程。 首先来看一下委派,委派其实就是方法的传递,并不定义方法的实现。事件其实就是标准化了的委派,为了事件处理过程特制的、稍微专业化一点的组播委派(多点委派)。下面举一个例子,我觉得把委派的例子和事件的例子比较,会比较容易理解。 using System;class Class1{        delegate int MathOp(int i1,int i2);        static void Main(string[] args)       {                MathOp op1=new MathOp(Add);               ...
语法规则: Create [or replace] trigger [模式.]触发器名        Before| after   insert|delete|(update of 列名) On 表名 [for each row] When 条件 PL/SQL块 说明: For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次; When条件的出现说明了,在DML操作的时候也许一定会触发触发器,但是触发器不一定会做实际的工作,比如when 后的条件不为真的时候,触发器只是简单 ...
Tkprof工具可用来格式化sql trace产生的文件,让你更容易看懂trace的内容     用法:   tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ] ...     参数说明:   tracefile:你要分析的trace文件 outputfile: ...
在1.0/1.1版本,都流行的是appSettings这个节点读取;无论web.config,还是app.exe.config都可以使用这个节点配置。 如:<?xml version="1.0" encoding="utf-8" ?><configuration>    <appSettings>  <add key="TestKey" value= ...
调用APIusing System.Runtime.InteropServices; [DllImport("user32.dll")]public static extern bool ReleaseCapture();[DllImport("user32.dll")]public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);public const int WM_SYSCOMMAND = 0x0112;public const int SC ...
1.在IDE中,步骤         在工程项目上,点击右击选择【export】导出一个包 2.在tomcat中         运行cmd         输入一下命令:             set path=jdk的bin目录位置             cd  进入到要要打包的项目主目录下,例如项目是c:\tomcat5\webapps\prodream\   则cd  c:\tomcat5\webapps\prodream\             jar -cvf 打包名.war *.    //这个点表示当前目录,jar具体命令说明  输入jar /?就可以看到 ...
 通常在写程序的时候,当要用到某些组件,采用的方法一般都是动态创建,用完以后就释放掉。Visual   C#在程序运行的时候也可以动态创建组件,下面就结合一个程序例子来具体介绍如何用Visual   C#动态生成组件。首先让我们 ...
Global site tag (gtag.js) - Google Analytics