在eclipse-> junit-view中显示的测试执行时间取决于整个测试用例的执行,包括:
我需要有关我的业务逻辑和仅我的业务逻辑的执行时间的更详细的说明。那就是我在测试用例中所做的:
Date lNow = new Date(); List<Geo> lAllBasisGeo = mGeoEvaluator.evaluateAllGeo(lGeoFixture.getGeo(), lAllGeo); Date lStop = new Date(); System.out.println("Time of execution in seconds:"+((lStop.getTime()-lNow.getTime())/1000));
好吧…我认为我以一种非常尴尬的方式确定时间。此外,我认为不必声明两个Date变量。
我需要一些建议来更有效地编写该代码…
在单元测试中,我希望为带有JUnit 4批注的Test添加一个超时,以确定测试是否通过(足够快):
@Test(timeout=100)//let the test fail after 100 MilliSeconds public void infinity() { while(true); }
为了确定您的业务逻辑的确切运行时间,我将像在关键代码路径之前和之后一样添加Time语句,并重复几次以获取学术上正确的结果,然后再次删除该语句,以简化代码。
long start = System.currentTimeMillis(); //execute logic in between long end = System.currentTimeMillis(); System.out.println("DEBUG: Logic A took " + (end - start) + " MilliSeconds");