- 浏览: 313502 次
- 性别:
- 来自: 南昌
-
文章分类
最新评论
-
秋风扫落叶:
不错,学习了。shadow文件中记录的格式是什么?
/etc/passwd & /etc/shadow 详解 -
key232323:
重拾jstl——写得很好。我收藏下。
JSTL标签用法 -
zxl10059:
不错,非常简明扼要
Hibernate分页 -
Batmankwok:
很好,所见略同,
自定义组件MXML和as两种实现的方式和区别 -
Dxx23:
摘话回帖!
通过response对象的sendRedirec ...
response.sendRedirect方式的转向与RequestDispatcher的forward方法的比较
被单元测试的类

package
{
public class BankAccount
{
private var balance:Number=0;
public function deposit(amount:Number):void{
balance=balance+amount;
}
public function withdraw(amount:Number):void{
balance=balance-amount;
}
public function getBalance():Number{
return balance;
}
}
}
{
public class BankAccount
{
private var balance:Number=0;
public function deposit(amount:Number):void{
balance=balance+amount;
}
public function withdraw(amount:Number):void{
balance=balance-amount;
}
public function getBalance():Number{
return balance;
}
}
}
单元测试类:

package {
import asunit.framework.TestCase;
public class BankAccountTest extends TestCase {
private var instance:BankAccount;
/**
* Constructor
*/
public function BankAccountTest(testMethod:String) {
super(testMethod);
}
/**
* Set up instance of BankAccount to test with
*/
protected override function setUp():void {
instance = new BankAccount();
}
/**
* Delete instance used for testing
*/
protected override function tearDown():void {
instance=null;
}
/**
* Test BankAccount instantiation
*/
public function testInstantiated():void {
assertTrue("Example instantiated", instance is BankAccount);
}
/**
* Test Deposit
*/
public function testDeposit():void {
instance.deposit(50);
assertTrue("Balance on a new account after 50 deposit is 50", instance.getBalance() == 50);
instance.deposit(25);
assertEquals("Balance after 50 deposit and another 25 deposit is 75", 75,instance.getBalance());
}
/**
* Test withdraw
*/
public function testWithdraw():void {
instance.deposit(100);
instance.withdraw(50);
assertTrue("Balance on a new account after 100 deposit and a 50 withdraw is 50", instance.getBalance() == 50);
}
}
}
import asunit.framework.TestCase;
public class BankAccountTest extends TestCase {
private var instance:BankAccount;
/**
* Constructor
*/
public function BankAccountTest(testMethod:String) {
super(testMethod);
}
/**
* Set up instance of BankAccount to test with
*/
protected override function setUp():void {
instance = new BankAccount();
}
/**
* Delete instance used for testing
*/
protected override function tearDown():void {
instance=null;
}
/**
* Test BankAccount instantiation
*/
public function testInstantiated():void {
assertTrue("Example instantiated", instance is BankAccount);
}
/**
* Test Deposit
*/
public function testDeposit():void {
instance.deposit(50);
assertTrue("Balance on a new account after 50 deposit is 50", instance.getBalance() == 50);
instance.deposit(25);
assertEquals("Balance after 50 deposit and another 25 deposit is 75", 75,instance.getBalance());
}
/**
* Test withdraw
*/
public function testWithdraw():void {
instance.deposit(100);
instance.withdraw(50);
assertTrue("Balance on a new account after 100 deposit and a 50 withdraw is 50", instance.getBalance() == 50);
}
}
}
Alltest.as 集中所有测试类:

package {
import asunit.framework.TestSuite;
import flash.display.Sprite;
public class AllTests extends TestSuite {
public function AllTests() {
super();
addTest(new BankAccountTest("testInstantiated"));
addTest(new BankAccountTest("testDeposit"));
addTest(new BankAccountTest("testWithdraw"));
}
}
}
Main.as:

package
{
import asunit.textui.TestRunner;
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main()
{
var unittests:TestRunner = new TestRunner();
stage.addChild(unittests);
unittests.start(AllTests, null, TestRunner.SHOW_TRACE);
}
}
}
{
import asunit.textui.TestRunner;
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main()
{
var unittests:TestRunner = new TestRunner();
stage.addChild(unittests);
unittests.start(AllTests, null, TestRunner.SHOW_TRACE);
}
}
}
将测试类中:

public function testDeposit():void {
instance.deposit(50);
assertTrue("Balance on a new account after 50 deposit is 50", instance.getBalance() == 50);
instance.deposit(25);
assertEquals("Balance after 50 deposit and another 25 deposit is 75", 75,instance.getBalance());
}
instance.deposit(50);
assertTrue("Balance on a new account after 50 deposit is 50", instance.getBalance() == 50);
instance.deposit(25);
assertEquals("Balance after 50 deposit and another 25 deposit is 75", 75,instance.getBalance());
}
instance.deposit(25);改成instance.deposit(125);
运行测试用例将会出现设定的报错字符。
源码在examplesmyself.rar
examplesmyself:http://www.wolf2999.cn/down/examplesmyself.rar
asunit:http://www.wolf2999.cn/down/asunit.rar
flexunit:http://www.wolf2999.cn/down/flexunit.rar
发表评论
-
web.xml tomcat 和jetty 区别
2010-09-07 09:31 2218因为使用GWT,所以测试的时候是在jetty上运行的,但是最后 ... -
单元测试之实践四 Action的测试
2010-08-30 10:14 897Action的测试是比较辛苦的。因为它依赖与其他的环境(比如t ... -
单元测试之实践三 Service的测试
2010-08-30 10:13 1023测试Service,因为Service依赖的Dao, 所以只需 ... -
单元测试之实践二,关于DAO的测试
2010-08-30 10:12 1000前阵子发表过 我的第一个真正意义上的测试 。里面对于测试S ... -
Mockito特点
2010-08-30 10:02 11491. 只能使用jdk1.5以上,因为它的方便是用jdk1.5的 ... -
HttpUnit进行Web测试
2010-08-30 00:06 1740简介:HttpUnit是基于JUnit ... -
关于单元测试的一些看法
2010-08-28 14:26 953从参加工作以来,参加 ... -
Eclipse IDE下 Cactus + Jetty 对 Servlet 的测试
2010-08-28 13:09 1604在开发J2EE Web项目时,测试过程常涉及到代码与Web C ... -
用cactus,jetty实现对servlet类进行单元测试三(完)
2010-08-28 11:39 1155OK,可以开始写测试类了,代码为: pa ... -
用cactus,jetty实现对servlet类进行单元测试二
2010-08-28 11:37 1414按照官网的定义,我们就可以用MILY: 'Arial','sa ... -
用cactus,jetty实现对servlet类进行单元测试一
2010-08-28 11:35 1426JUnit是名声大燥了,想必只要学过JAVA的人都知道世上有个 ... -
相关测试工具下载
2010-08-26 17:21 1496相关测试工具下载 HP-Mercury软件测试工具下载,随时 ... -
单元测试实践小结
2010-08-26 16:40 664在系统开发过程种使用单元测试,会带来很多的的好处,最明显为: ... -
软件测试杂录
2010-08-26 14:41 1137比较杂,有空再整理一 ... -
J2EE单元测试
2010-08-26 11:06 1099一、测试原则 Java ... -
利用httpunit测试servlet
2010-08-26 10:33 2056传统的Java WEB应用中,核心技术莫过于Servlet类与 ... -
使用 EasyMock 更轻松地进行测试
2010-08-25 14:40 1030测试驱动开发是软件开发的重要部分。如果代码不进行测试,就是不可 ... -
Cactus工作原理
2010-08-24 09:52 1030Cactus 是Jakarta的子项目 ... -
Cactus实例讲解
2010-08-23 17:08 949Cactus简介 . 简介 Cactus实现了对JUni ... -
flex和java的通信
2010-08-17 15:35 756一、准备: 服务端:J ...
相关推荐
在这个"MVC简单例子C#"中,我们将深入探讨这种模式以及如何在C#环境中实现它。** **一、MVC模式概述** MVC模式将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。模型负责处理数据...
实例14-3:简单的WinInet应用程序。源代码在光盘中“\14\SimpleNet”目录下。 实例15-1:创建Access数据库。源代码在光盘的“\15\Info”中。 实例15-2:MFC的ODBC数据库实例。源代码在光盘中“\15\Enroll”目录下。...
"CPP的简单例子"这个标题暗示我们将探讨一些C++的基础概念和实践代码,这些内容可能来源于谭浩强的C++教程。 谭浩强是中国计算机科学教育领域的知名人物,他的《C++编程语言简明教程》为初学者提供了进入C++世界的...
H5 PhotoSwipe简单例子 H5 PhotoSwipe简单例子 H5 PhotoSwipe简单例子 H5 PhotoSwipe简单例子
总结,"struts2简单实例"展示了如何使用Struts2框架构建一个简单的学生信息查询功能,涵盖了配置文件、Action实现、数据传输以及视图展示等多个方面,是学习和理解Struts2工作原理的好例子。通过这个实例,开发者...
比较简单的模糊算法实例,刚开始学习的时候编的,新手可以学习下
只要将解压的文件直接放置到myeclipse的webroot下面,启动tomcat访问。简单的EXTJS mvc框架,设计 store,model,controller,view,window等等,同时展示了一些基本的点击显示、修改等等操作,需要的同学自行下载
1.一个简单的关于 HTTP GET,POST的简单实例 第一个方法是get 第二个是POST
这个名为"一个简单的ios开发的实例"的项目,很可能是为了展示基本的iOS应用程序构建过程,特别关注于文本输入和显示方面,因为包含了名为"ASTextViewDemo.xcodeproj"的文件。这个项目可能使用了Apple的集成开发环境...
在这个名为“mfc的一个简单例子”的项目中,我们可以预期它会展示如何在Visual C++环境下使用MFC创建一个基本的图形用户界面(GUI)。MFC将窗口、控件、菜单、对话框等元素抽象为类,程序员可以通过继承和实例化这些...
爬虫开发Python开发简单爬虫 实例代码.zip爬虫开发Python开发简单爬虫 实例代码.zip爬虫开发Python开发简单爬虫 实例代码.zip爬虫开发Python开发简单爬虫 实例代码.zip爬虫开发Python开发简单爬虫 实例代码.zip爬虫...
这个实例可能包括一个简单的View(如一个窗口,里面有几个按钮和文本框),一个ViewModel(处理按钮点击事件和更新UI),以及一个Model(例如,一个存储数据的简单类)。 `svn使用指南.docx`文件可能是为了辅助理解...
本教程将通过一个简单的实例,介绍如何在Delphi中创建和管理线程。 首先,理解线程的基本概念至关重要。在单线程应用程序中,所有操作按顺序执行,而多线程应用则可以同时处理多个任务。线程可以在后台运行,不影响...
C++编写的共享库,用gcc编译连接,分别生成.so和.a,C编写的main,用gcc编译,连接.so和.a调用的简单例子
webgis openlayers geoserver
本文主要讲解了u-boot中的lds文件实例和简单实例分析,涵盖了链接脚本的基础知识、基本概念、脚本格式、简单例子、简单脚本命令、对符号的赋值、SECTIONS命令、MEMORY命令、PHDRS命令、VERSION命令、脚本内的表达式...
一个简单的C#编程实例,介绍一些C#的编程原里
在这个简单的实例中,模型可能包含对数据库的CRUD(创建、读取、更新、删除)操作,以及任何数据验证或业务规则。 接着,我们讨论"View"(视图)。视图是用户看到和交互的界面部分。在Winform中,视图通常由窗体...
Qt 多线程及简单实例 demo。 多线程的几大特点: 1.多线程的执行顺序无法保证,与操作系统的调度策略和线程优先级等因素有关。 2.多线程的切换可能发生在任何时刻、任何地点。 3.多线程对代码的敏感度高,因此对...
本资源包“Protues仿真实例(8051)-最简单的12个proteus仿真例子.zip”提供了一套针对8051单片机的初级实践教程,旨在帮助初学者快速掌握基本的单片机编程和硬件设计技巧。本文将深入解析这12个实例,揭示其中蕴含...