首先main方法测试的主要原理参见下面的链接
http://www.cnblogs.com/ITEagle/archive/2010/07/10/1774888.html
1、callMainFailure
代码
/**
* <p>
* Tests the main method. <code>System.exit</code> is expected.
* </p>
*
* @param args
* the arguments.
*/
private static void callMainFailureString[] args) {
try {
PriceConversionUtility.mainargs);
fail"System.exit is expected.");
} catch SecurityException e) {
// Good
}
}
不论main方法正常结束还是异常结束都要System.exit因此这个函数在准确性测试和异常测试中都可以用的到
2、MockSecurityManager
一个测试的帮助类
代码
import java.security.Permission;
public final class MockSecurityManager extends SecurityManager {
/**
* <p>
* This method throws exception for testing if the status is 1 or 0.
* </p>
*
* @param status
* The exit status code.
*
* @throws SecurityException
* Always.
*/
public void checkExitint status) {
super.checkExitstatus);
if status == 1 || status == 0 || status == -1) {
throw new SecurityException"Halt for testing.");
}
}
/**
* <p>
* This method does nothing.
* </p>
*
* @param perm
* Ignored.
*/
public void checkPermissionPermission perm) {
}
}