日期:2014-05-20  浏览次数:20692 次

如何销毁singelton的obj? 如何在一个Singleton程序里 按序 多次运行Main函数?
如题, 自己做的一个project,它使用了Singleton模式,, 给入不同的参数运行并进行结果评估. 反复运行多次, 非常繁琐.
我试着把project的main函数作为普通函数在一个 "TestInOne" 类 里调用, 希望依次结束一个测试并且进入下一个. 
伪码如下:
public class TestInOne{

  public static void main(String[] args){
  //所有需要测试的参数. 需要按顺序执行.
  //test 1
  Project.main(0.9,1000);
  //test 2
  Project.main(0.7,1000);

  //test n
  ......

  }

}
进行测试的main函数都以System.exit(0); 希望销毁singelton的obj, 重新再创造新的出来. 
Project.main(double d, int i){
....
System.exit(0); 
}

实际运行中, singleton好像对所有的测试都起了作用, 
System.exit(0); 好像并没有销毁singleton的obj, 而是在原来的基础上继续运行. 

重置所有obj的成本太高,基本放弃这种方法.

求教有经验的大侠相助!


------解决方案--------------------
楼主考虑下用junit吧。
------解决方案--------------------
我只能说...思路混乱...
既然是这么个设计结构,那你的测试就应该独立于程序了
按你的描述来说,最简单的办法就是写个shell了
请参考dos的bat
linux的sh