Just for curiousity : What kind of parameter is it ? And is its utility? If it is common for all test you can use a system properties.
Nicolas, 2005/8/2, Romain Thouvenin <[EMAIL PROTECTED]>: > Yes it's an idea, some of the settings can be transferred from the > constructor to the setUp method, but that is not the case with the one i > talked about. > A parameter is given to the constructor and the constructor sets a field > with this parameter, and the setUp method cannot accept parameters. > > The parameter is given to the constructor when the testSuite is built, > and then only the instance of the TestCase knows the parameter. Anyway, > I can't find a solution to guess this parameter in a fonction without > argument (but continuing to search). > > Romain > > Nicolas Chalumeau a écrit : > > >To fix this you can do all the setting that you make in the > >constructor in the setUp method. > > > >Nicolas, > > > >2005/8/2, Romain Thouvenin <[EMAIL PROTECTED]>: > > > > > >>I'm now sure this is linked to double instance of test cases : when i > >>printed a debug message in the MyTestCase(String theName) constructor, > >>it appeared in the server console whereas it did not use it to build > >>testSuites. > >>Cactus does not make an exact copy of the test case, and thus a bad copy > >>which results in an NullPointerException. > >> > >>Except from correcting Cactus, I'm completely unable to find a solution > >>to my problem... *gasp* > >> > >>Romain > >> > >>Romain Thouvenin a écrit : > >> > >> > >> > >>>I'm creating a tool to launch tests based on cactus. > >>>It uses my own test cases which extend ServletTestCase, and these > >>>testCases have a field used in test methods. > >>>But when i launch the test and try to access this field in the setUp > >>>method, i get a NullPointerException. > >>>I've checked with prints and with a debugger, the field is correctly > >>>initialized. > >>> > >>>I've read that cactus make two instances of test cases. Could it be > >>>linked to my problem ? > >>>How are initialized class varaibles when a second instance of the test > >>>case is made ? > >>> > >>>To build the TestSuite, i use my own constructor with a code like this : > >>># suite.addTest(new MyTestCase("testName", MyClass param)); > >>>and a field of MyTestCase is directly set with param. > >>> > >>>I use cactus 1.7, junit 3.8.1 and orion server 2.0.5 > >>>Here is the stack trace > >>>testAdd(com.aguila.tests.client.ClientTest)java.lang.NullPointerException > >>> at com.aguila.tests.client.ClientTest.setUp(ClientTest.java:77) > >>> at > >>>org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(AbstractCactusTestCase.java:153) > >>> > >>> at > >>>org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:119) > >>> > >>> at > >>>org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody0(AbstractWebTestController.java:93) > >>> > >>> at > >>>org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody1$advice(AbstractWebTestController.java:224) > >>> > >>> at > >>>org.apache.cactus.internal.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java) > >>> > >>> at > >>>org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(ServletTestRedirector.java:101) > >>> > >>> at > >>>org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(ServletTestRedirector.java:224) > >>> > >>> at > >>>org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java) > >>> > >>> at > >>>org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(ServletTestRedirector.java:72) > >>> > >>> at > >>>org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advice(ServletTestRedirector.java:224) > >>> > >>> at > >>>org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java) > >>> > >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:195) > >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:309) > >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:336) > >>> at com.evermind._ctb._psd(Unknown Source) > >>> at com.evermind._ctb._bqc(Unknown Source) > >>> at com.evermind._ax._luc(Unknown Source) > >>> at com.evermind._ax._ucb(Unknown Source) > >>> at com.evermind._bf.run(Unknown Source) > >>> > >>>ClientTest.java:77 and around : > >>>#protected void setUp () throws Exception { > >>># StartSessionServlet sss = new StartSessionServlet(); > >>># sss.init(super.config); > >>># if(super.getInstance() == null) { > >>># System.out.println("instance est null"); //This message > >>>is printed in the server console > >>># } > >>># try { > >>># UserInfoBean uib = CollaborateurRep.getInstance().connect( > >>># super.getInstance().getColLogin(), > >>>super.getInstance().getColPass()); //line 77 > >>># super.getInstance().setUiBean(uib); > >>> > >>>I would be glad to give further informations. I did not provide more > >>>java code since it's quite intricate and it would need more > >>>informations, but I'm sure super.instance should be not null (it is > >>>initialized in constructor and then just accessed with getInstance) > >>> > >>>Anyway, could I have more accurate information about the way Cactus > >>>instanciate the test case a second time ? > >>> > >>>Thanks for your help. > >>>Romain Thouvenin > >>> > >>> > >>> > >>>--------------------------------------------------------------------- > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>> > >>> > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > >> > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]