java - the JAR of this class file belongs to container 'Junit 4' which does not allow modifications to source attachements on its entries -


i new junit framework. trying invoke private method in class junit test class using reflection api. getting below error while running junit test:

java.lang.exceptionininitializererror     @ com.test.eb.x.xconnection.dbopen(xconnection.java:32)     @ com.test.eb.x.admin.xreftablepersister.getdbconnect(xreftablepersister.java:33)     @ com.test.eb.persistence.persister.getsortedlist(persister.java:485)     @ com.test.eb.x.entity.searchplan.<init>(searchplan.java:49)     @ com.test.eb.x.entity.tests.searchplantest.testsearchplan(searchplantest.java:41)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:597)     @ junit.framework.testcase.runtest(testcase.java:176)     @ junit.framework.testcase.runbare(testcase.java:141)     @ junit.framework.testresult$1.protect(testresult.java:122)     @ junit.framework.testresult.runprotected(testresult.java:142)     @ junit.framework.testresult.run(testresult.java:125)     @ junit.framework.testcase.run(testcase.java:129)     @ junit.framework.testsuite.runtest(testsuite.java:255)     @ junit.framework.testsuite.run(testsuite.java:250)     @ org.junit.internal.runners.junit38classrunner.run(junit38classrunner.java:84)     @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50)     @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:459)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:675)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:382)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:192) caused by: java.util.missingresourceexception: can't find bundle base name x_bootstrap, locale en_us     @ java.util.resourcebundle.throwmissingresourceexception(resourcebundle.java:1427)     @ java.util.resourcebundle.getbundleimpl(resourcebundle.java:1250)     @ java.util.resourcebundle.getbundle(resourcebundle.java:705)     @ com.test.eb.x.xproperties.<clinit>(xproperties.java:12)     ... 24 more 

when debugging application see following:

the jar of class file belongs container 'junit 4' not allow modifications source attachements on entries.

actual class

public class sp { private java.lang.string searchtext; private java.lang.string searchoption; private hashtable searchresult; private persistable[] plncategorylist; private plncategory persistplncategory; //css, displaying result private string csstext; private string csstableheader; private string csstable; private boolean allowdelete; public sp() {     super();     persistplncategory  =new plncategory();     searchtext= "";     searchoption = "";     reftablepersister persister = new xreftablepersister();     setallowdelete(false);     //default css values     csstext="mainbody";     csstableheader = "bodytableheader";     csstable="bodytable";        try {         persistplncategory.setplncatgcd("");         class persclass = class.forname("com.org.plncategory");         plncategorylist = persister.getsortedlist( persclass, new persistabledescriptioncomparator());     } catch (exception e) {         e.printstacktrace();     }    } private int searchpln() throws xexception {     xconnection xconn = new xconnection();     searchresult = new hashtable();     pln plnitem = new pln(), plnitem2;     cont contitem;     coveragecode covcditem;     vector templist;     hashtable temptable;     stringbuffer sqlcontr = new stringbuffer("");     stringbuffer sqlcovcd = new stringbuffer("");     resultset rscontr;     resultset rscovcd;     string plncat="";     if (! persistplncategory.getplncatgcd().equals("") && ! persistplncategory.getplncatgcd().equals("0")){         plncat = persistplncategory.getplncatgcd();     }     sqlcontr.append("select ")     .append(" p.pln_cd, ")     .append(" p.pln_version_nbr, ")     .append(" pcr.pln_catg_desc, ")     .append(" p.pln_eff_dt, ")     .append(" p.pln_end_dt, ")     .append(" cp.cont_nbr ");     sqlcontr.append(" ")     .append(" pln p, ")     .append(" pln_category_ref pcr, ")     .append(" cont_pln cp ");     sqlcontr.append(" ")     .append(" p.pln_cd = " + getsearchtext().trim())     .append(" , p.pln_catg_cd = pcr.pln_catg_cd ")     .append(" , p.pln_cd = cp.pln_cd ")     .append(" , p.pln_version_nbr = cp.pln_version_nbr ");     if (!plncat.equals("")){         sqlcontr.append(" , p.pln_catg_cd = '" + plncat + "' ");     }     sqlcontr.append(" order ")     .append(" p.pln_cd, ")     .append(" p.pln_version_nbr, ")     .append(" cp.cont_nbr ");            try {         xconn.dbopen();         rscontr = xconn.doquery(sqlcontr.tostring());         temptable = new hashtable();         if (rscontr.next()){             plnitem = new pln();             plnitem.setnumber(rscontr.getstring(1).trim());             plnitem.setversion(rscontr.getstring(2).trim());             plnitem.setplncategorytext(rscontr.getstring(3).trim());             plnitem.seteffectivedate(rscontr.getdate(4));             plnitem.setenddate(rscontr.getdate(5));             contitem = new cont();             contitem.setnumber(rscontr.getstring(6).trim());             temptable.put(contitem.tostring(), contitem);                    while(rscontr.next()){                 plnitem2 = new pln();                 plnitem2.setnumber(rscontr.getstring(1).trim());                 plnitem2.setversion(rscontr.getstring(2).trim());                 //just add cont if still same                 if (plnitem.equals(plnitem2)) {                     contitem = new cont();                     contitem.setnumber(rscontr.getstring(6).trim());                     temptable.put(contitem.tostring(), contitem);                 } else {                     //save pln info                     plnitem.setconts(temptable);                     searchresult.put(plnitem.tostring(), plnitem);                     //create pln                     plnitem = new pln();                     plnitem.setnumber(rscontr.getstring(1).trim());                     plnitem.setversion(rscontr.getstring(2).trim());                     plnitem.setplncategorytext(rscontr.getstring(3).trim());                     plnitem.seteffectivedate(rscontr.getdate(4));                     plnitem.setenddate(rscontr.getdate(5));                     temptable = new hashtable();                     contitem = new cont();                     contitem.setnumber(rscontr.getstring(6).trim());                     temptable.put(contitem.tostring(), contitem);                 }             }             //save last pln             plnitem.setconts(temptable);             searchresult.put(plnitem.tostring(), plnitem);         }                plnitem2 = (pln) searchresult.get(plnitem.tostring());         if (plnitem2 != null){             plnitem2.setcoveragecodes(templist);             searchresult.put(plnitem2.tostring(), plnitem2);         }     } }        return searchresult.size();} 

junit class

public class sptest extends testcase{  public java.lang.string searchtext; public java.lang.string searchoption;  @before public void setup() throws exception {      searchtext = "963 - 1";     searchoption = "pln";    } @test public void testsearchpln() {      try {         searchpln searchpln = new searchpln();          method method = searchpln.class.getdeclaredmethod("searchpln", null);         method.setaccessible(true);         int plnresults = (integer) method.invoke(searchpln, null);         assertnotnull(plnresults);       } catch (securityexception e) {                  e.printstacktrace();     } catch (nosuchmethodexception e) {         e.printstacktrace();     } catch (illegalargumentexception e) {                   e.printstacktrace();     } catch (illegalaccessexception e) {         e.printstacktrace();     } catch (invocationtargetexception e) {         e.printstacktrace();     } finally{                   //pbdbconn.dbclose();     } } 

}

it looks has nothing private method. exception being thrown in constructor of sp on line:

plncategorylist = persister.getsortedlist( persclass, new persistabledescriptioncomparator()); 

Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -