随笔分类 - 开源工具
介绍一些开源的工具
摘要:“下班了,走不走?” “你先走吧,今晚上线。。。” “。。。。”上线又是上线,上线这个大问题,几乎每个程序员每天都会执行很多次的机械操作。测试环境、仿真环境,预上线环境,生产环境;互联网思维的“快速迭代”,“小步快跑”;强调用户体验 的快速用户反馈响应 等这些大环境,再到开发时间仓促、开发人员的配合...
阅读全文
摘要:已经两年没更新过博客了!!!StackExchange,地址:https://github.com/StackExchange,开源的这些项目都是在StackOverflow线上使用的。说起StackOverflow,扯两句闲话,所有码农应该都不陌生,特别是对.net的开发者,它可能是应用了.net...
阅读全文
摘要:首先定义一个自定义的attributeusing System;namespace NUnit.Core.Extensions{ /// <summary> /// 这个自定义特性只是用来标记类,Nunit发现这个标记的类会调用我们插件的逻辑来构建测试类 /// </summary> [AttributeUsage(AttributeTargets.Class, AllowMultiple=false)] public sealed class SampleFixtureExtensionAttribute : Attribute { }}下面是一个插件的主要逻辑:us
阅读全文
摘要:你可以通过以下几种方法扩展Nunit:通过custom constraints对我们测试项目引用的Nunit framework进行扩展,针对我们自己的测试项目;通过addin对Nuint Core扩展,这样可以影响Nuint对测试项目的编译运行,此外,还可以对GUI运行工具的扩展。Custom Constraints (NUnit 2.4 / 2.5)通过继承抽象类Constraint,你可以实现自定义约束custom constraints 它会一个真实值进行一个测试并且产生适当的提示信息。public abstract class Constraint{ ... public a...
阅读全文
摘要:接上篇29,TestFixtureAttribute (NUnit 2.0 / 2.5)它可以标志一个类是测试类,可以包含测试方法、setup和teardown方法。从2.5.3以后,这个类可以是public, protected, private 或者 internal,在.net2.0之后可以是静态的,也可以是泛型类,也可以是abstract。如果TestFixtureAttribute构造时不带参数,测试类必须有一个默认的构造函数;如果带参数,必须有对应的构造函数。如果不符合要求,这个类将是不可运行并且会报告一个错误。因为Nunit可能会一个会话中多次创建这个类,因此这个类的构造函数不应
阅读全文
摘要:接上篇14,RepeatAttribute (NUnit 2.5)RepeatAttribute 是用来指定一个测试用例应该运行几次。如果任何一次失败,以下的次数将不会运行并只报告一次错误。15,RequiredAddinAttribute (NUnit 2.5)RequiredAddin attribute 用来指定一个程序集如果要正确运行所需要的程序集。如果指定的程序集没有被引用,整个程序将会标记为不可执行的。在3个试用版本中,这个特性可以被应用到类或方法上,但是从下个版将会限定只用到程序集。示例:[assembly: RequiredAddin("MyTestFixtureAd
阅读全文
摘要:最早的时候,Nunit使用继承和命名约定来确认方法或类是用来测试的。但从2.0开始,开始使用了自定义特性custom attributes:这样你不必继承一个特定的类,可以自由的规定类的层次;没有了命名约定,你可以按方法的意图来命名。所有的NUnit特性attributes都包含在NUnit.Framework的命名空间中,因此每个文件都应该引用这个命名空间,你的测试项目也应该引用nunit.framework.dll的程序集。从2.4.6开始,NUnit特性attributes不再是封闭的sealed,任何继承自它们的特性attributes都会被识别。Nunit提供了36种可供使用的特性a
阅读全文
摘要:从2.4之后,NUnit就采用了新的“基于约束”的模型,所有的断言都是在约束的基础上的来实现的。正如前文所说的,我们可以用同一个方法和不同的约束实现不同的断言。这个方法,有相当数量的重载版本:Assert.That( object actual, IResolveConstraint constraint );如果你继承自AssertionHelper类实现自己的test fixture class , 可以用 Expect() 方法替代 of Assert.That()...Expect( object actual, IResolveConstraint constraint );我们可以
阅读全文
摘要:断言是任何一个xunit框架的核心,nunit中的Assert类,它提供一系列丰富的静态方法来供我们调用。如果一个断言失败,这个方法不会返回但是会报告一个错误,那么断言之后的代码就不会被执行,因此,最好在一个测试中包含一个断言。经典模型在Nunit2.4以前,使用经典模型:每一个断言调用一个单独的方法。如:// 测试两者是否相等Assert.AreEqual( int expected, int actual );// 测试两个对象是否是同一个引用Assert.AreSame( object expected, object actual );基于约束(Constraint-based)模型.
阅读全文
摘要:Nunit是.net平台下的单元测试框架,来自于junit,同属于xunit的一员,现在正式发布的版本已经更新到2.5.10,如果还没有安装的可以去下载,nunit官网.尽管现如今的vs已经集成了自己的单元测试,用起来还是相当的方便,但是我们了解一些.net平台下的源的项目时或一些示例时,测试框架无不是nunit,因此对nunit进行一些了解还是非常必须的。开始当你安装之后,会有两种不同的方式来运行你的的测试。控制台运行nunit-console.exe,运行最快,但是不利于交互;图形运行nunit.exe,一个win form的应用程序,提供一个图形界面,让你更直观的控制你的测试运行。安装完
阅读全文
摘要:swfobject是什么?它是一个开源的javascript工具类,我们可以在google code上很容易的找到它:http://code.google.com/p/swfobject/。它提供了一个统一的方式让我们很轻松的在网页中嵌入flash内容,而不用去考虑任何平台和浏览器的特殊标记,及它们对flash的支持能力。无论你是页面制作、flash制作或者js的开发,你都可以找到一个适合的方式嵌入flash内容。其次,它还提供了一些API,让你能够去检测当前浏览器对flash支持的一些信息,让你可以轻松的完成你的逻辑。据官方说文件只有10kb,gzip之后只有3.9K。如何用swfobjec
阅读全文