草庐IT

final_test

全部标签

java - 持续集成 : ensure new commits are covered with tests

我正在从事一个项目,该项目有很多未包含在测试中的遗留代码。有什么方法可以设置集成服务器来检查所有新提交是否都进行了最少数量的测试(例如,覆盖率>70%)?基本上,我看到两个选项:以某种方式设置CI服务器,使其在提交的更改未包含在单元测试中时导致构建失败。这将确保每一段新代码都有测试,并且遗留代码的测试会随着每次更改而增加。为整个项目设置覆盖率阈值,如果覆盖率百分比在提交后下降,则构建失败。这样做的问题是,如果我删除一个包含100条指令的类并添加一个包含50条指令的新类,覆盖率将会上升,而无需我编写任何测试。我更喜欢选项1,因为它强制对遗留代码的更改进行单元测试。这应该会增加整体测试覆盖

java - JdbcOdbcDriver.finalize() 行 : 96 中的未知 NullPointerException

我正在使用JNDI加载数据源:JDK1.6.0_31Tomcat6.0.30当我启动Eclipse(IndigoSR2)调试器时,它中断:DaemonSystemThread[Finalizer](Suspended(exceptionNullPointerException))JdbcOdbcDriver.finalize()line:96Finalizer.invokeFinalizeMethod(Object)line:notavailable[nativemethod]Finalizer.runFinalizer()line:83Finalizer.access$100(Fin

Java:引用同步对象是否需要 volatile/final?

这似乎是一个非常基本的问题,但我找不到明确的确认。假设我有一个正确同步的类:publicclassSyncClass{privateintfield;publicsynchronizedvoiddoSomething(){field=field*2;}publicsynchronizedvoiddoSomethingElse(){field=field*3;}}如果我需要对那个类的实例有一个引用,并在线程之间共享,我仍然需要声明那个实例是volatile或final,我说得对吗?如:publicclassMainClass{//previouslyOuterClasspublicsta

java - Java 中的 System.gc() 和 finalize() 方法有什么区别?

我对java的system.gc()和finalize()方法感到困惑。我们不能强制将垃圾对象收集到JVM。我们允许在我们的java代码中编写这两种方法,那么如果两者都用于垃圾收集,那么为java提供两种垃圾收集方法有什么意义呢?请告诉我这两种方法的确切工作原理及其内部工作原理? 最佳答案 System.gc()请求系统执行垃圾回收。Javadoc说:Runsthegarbagecollector.您无法控制垃圾收集器的工作“强度”。垃圾收集器如何在内部工作是特定于VM的,并且它本身就是一个研究课题。但是通常会进行“完整”垃圾收集和

java - 如何确保始终调用 finalize()(Thinking in Java 练习)

我正在慢慢研究BruceEckel的ThinkinginJava第4版,但以下问题让我感到困惑:Createaclasswithafinalize()methodthatprintsamessage.Inmain(),createanobjectofyourclass.Modifythepreviousexercisesothatyourfinalize()willalwaysbecalled.这是我编写的代码:publicclassHorse{booleaninStable;Horse(booleanin){inStable=in;}publicvoidfinalize(){if(!

java - JBoss 工具部署错误 : This may be caused by your server's temporary deploy directory being on a different filesystem than the final destination

在Eclipse中使用JBoss工具部署应用程序时出现以下错误:ErrorrenamingC:\wildfly-8.1.0.Final\standalone\tmp\tmp7858611943756287857.xhtmltoC:\wildfly-8.1.0.Final\standalone\deployments\.war\403.xhtml.Thismaybecausedbyyourserver'stemporarydeploydirectorybeingonadifferentfilesystemthanthefinaldestination.Youmayadjusttheses

java - 在没有初始化器的情况下将局部变量声明为 final 并在 if 语句中分配

我只是做了一个小的代码更改以消除FindBugs警告,该警告需要将一些代码移动到匿名内部类。为了访问一些变量,我必须将它们声明为final。所以这是更改后的代码片段:finalFile[]libPath;//libPathisfinalbutassignmenttakesplacelaterif(libraryPath!=null){libPath=pathToFiles(libraryPath);}else{libPath=newFile[0];}在当前Eclipse(版本3.7.1)中将语言设置为Java6时编译效果很好。但是我很确定这曾经在某些以前的版本中出错。似乎编译器在确定存

java - 使用c3p0.idle_test_period。

我是c3op的新手,对:的使用感到困惑c3p0.idle_test_period在此链接中:HowToconfiguretheC3P0connectionpoolidleTestPeriod:Mustbesetinhibernate.cfg.xml(orhibernate.properties),Hibernatedefault:0,Ifthisisanumbergreaterthan0,c3p0willtestallidle,pooledbutunchecked-outconnections,everythisnumberofseconds.这种测试(idel,pooledconne

javax.crypto.BadPaddingException :Given final block not properly padded

我必须解密我服务器上的一个帧。加密帧通过套接字上的GPRS来自客户端设备。加密是使用TripleDes和给定key完成的。我在服务器端使用相同的算法和key。Frame是Hex和AsciiString的组合。现在的问题是:当我用零填充字节数组时,出现以下异常。javax.crypto.BadPaddingException:Givenfinalblocknotproperlypadded以下是我的代码:byte[]key=newbyte[]{31,30,31,36,32,11,11,11,22,26,30,30,30,30,30,30,30,30,30,30,30,30,30,30};

java - 访问 final 局部变量是否比 Java 中的类变量更快?

我一直在研究一些Java原始集合(trove、fastutil、hppc),我注意到一种模式,即类变量有时被声明为final局部变量。例如:publicvoidforEach(IntIntProcedurep){finalboolean[]used=this.used;finalint[]key=this.key;finalint[]value=this.value;for(inti=0;i我已经做了一些基准测试,看起来它在执行此操作时稍微更快,但为什么会这样?我试图了解如果注释掉该函数的前三行,Java会有什么不同。注意:这似乎类似于thisquestion,但那是针对C++的,并没