使用 JUnit 对规则进行单元测试

规则”(Rule)在程序中有广泛的应用,本文将介绍在对“规则”进行单元测试(Unit Testing)时的一些独特之处。希望能与读者探讨。

引言

一个例子

我们先看一个例子,以了解对”规则”做单元测试的特点。我们有一个性能调优工具 WPA, 它能够将与性能相关的参数的值进行评估并推荐最优值。它的评估和推荐最优值算法都是基于”规则”的。

Java 虚拟机的初始堆大小(JVM initial heap size)是一个影响 JVM 的性能的关键参数。性能调优工具 WPA 有一套规则对“ JVM initial heap size ”的值进行评估(参见清单 1)。评估的结果有 5 个级别。级别“ 1 ”表示设置良好,可提高性能;级别“ 5 ”表示设置很差,会降低性能。


清单 1. JVM initial heap size rating algorithm
				
Rating3UpperBounds = 1024
Rating3LowerBounds = 48
Rating5UpperBounds = 1536
Rating5LowerBounds = 32
Rating3Multiplier = 4
Rating5Multiplier = 3

absoluteMaximumValue= Math.min(currentMemoryPoolSize, overallMemoryOnPartition)
/ Rating3Multiplier
if (initialHeapSize > absoluteMaximumValue) {
return 4;
}
if ((initialHeapSize < Rating5LowerBounds) ||
(initialHeapSize > Rating5UpperBounds)) {
rating = severe problem (5)
}
else if ((initialHeapSize < Rating3LowerBounds) ||
(initialHeapSize > Rating3UpperBounds)) {
rating = probable problem (3)
}
……
}
if (initialHeapSize * Rating5Multiplier > currentMemoryPoolSize)
{
return severe problem (5)
}
else if(initialHeapSize*Rating3Multiplier > currentMemoryPoolSize)
{
return max(rating, 3)
}
else if(initialHeapSize*Rating2Multiplier > currentMemoryPoolSize)
else {
return max(rating, 1)
}

在这一套规则中,有三个输入参数:





本文转自IBM Developerworks中国

      请点击此处查看全文

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值