Obtaining server-side resource in suite() method using junit.textui.TestRunner

"Nicholas Dierauf" <[email protected]>
Newsgroups gmane.comp.jakarta.cactus.user
Message-ID <CFF3C71613AD464B97B9BA232E24617203BB046F@msgusawmb01.ads.autodesk.com>
Hi,
 
In order to set up a suite of tests to be executed client-side, I wish
to access a server-side resource in my suite() method. This works fine
when I run the test from my browser using ServletTestRunner, but I get a
"java.lang.reflect.InvocationTargetException" when I attempt to run from
a different jvm, ie with junit.textui.TestRunner. 
 
Is it possible to access server-side resources in the suite() method
when executed from junit.textui.TestRunner?  (Please see below for some
sample code.)
 
Btw, I have a similar problem when I attempt to set up server-side
fixtures in my suite() method by using a TestSetup wrapper and
junit.textui.TestRunner. This works fine from browser ServletTestRunner.
 
I have a sinking suspicion that this may have to do with the issue in
this thread http://tinyurl.com/cfj2z (Serializing test case classes),
but I'd appreciate any feedback.
 
Thanks in advance,
Nick.
 

Here is the sample code. Some details have been left out for brevity. In
this example, I want the test to run differently depending on the
environment. Because the system property "servertype" is not defined in
the textui JVM environment, I get the Exception.
 
public MyTest(String environment) {
  super("testSomething ");
  this.environment = environment;
}
public static Test suite() throws Exception {
  ServletTestSuite suite = new ServletTestSuite();
  
  boolean isProd = isProd();
  if (isProd) {
    suite.addTest(new MyTest("PROD01"));
  }
  else {
    suite.addTest(new MyTest("STAGE"));
  }
  return suite;
}
private static boolean isProd() {
  return (System.getProperty("servertype").equals("prd"));
} 
public void beginSomething(WebRequest theRequest) throws Exception {
  ...
}
public void testSomething() {
  ...
} 
 

Here is the stack-trace:
java.lang.reflect.InvocationTargetException at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)Caused by: java.lang.NullPointerException at
com.adsk.ws.externalservices.evolution.MyTest.isProd(MyTest.java:99) at
com.adsk.ws.externalservices.evolution.MyTest.suite(MyTest.java:78) ...
7 more
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.