users
[Top] [All Lists]

RE: [cinjug-users] Eclipse - Create an abstract subclass of a class w/o

To: "'Brian Bonner'" <brian.bonner@xxxxxxxxxxxx>, <users@xxxxxxxxxx>
Subject: RE: [cinjug-users] Eclipse - Create an abstract subclass of a class w/o a default constructor. / running TestCase w/o constructor in Eclipse
From: "Scott T Weaver" <sweaver@xxxxxxxxxxxxxxx>
Date: Tue, 17 May 2005 15:08:18 -0400
Delivered-to: mailing list users@cinjug.org
In-reply-to: <428A3BF4.9070108@paraware.com>
Mailing-list: contact users-help@cinjug.org; run by ezmlm
Thread-index: AcVbELHEP+i2DJyfS3GKlTYKL6SWnAAAKEEQ
Brian,

I think I have seen this before.  Eclipse might be using an older version of
JUnit when a constructor was required.  Try changing the version Eclipse
uses to the one you are using on the command line.

-Scott

> -----Original Message-----
> From: Brian Bonner [mailto:brian.bonner@xxxxxxxxxxxx]
> Sent: Tuesday, May 17, 2005 2:46 PM
> To: users@xxxxxxxxxx
> Subject: [cinjug-users] Eclipse - Create an abstract subclass of a class
> w/o a default constructor. / running TestCase w/o constructor in Eclipse
> 
> Has anyone run into this problem?
> 
> I'm trying to use an abstract subclass of a class that doesn't have a
> default constructor (TestCase).  For some reason, Eclipse complains that
> the default constructor with a name is needed to run it in Junit,
> however, I can compile the same code at a command line and it works in
> JUnit w/o problem.
> 
> Here's my code to reproduce the problem:  The AbstractTestCase compiles
> outside of eclipse and runs in JUnit fine.
> 
> /**  Abstract Test Case w/ no constructors */
> import junit.framework.TestCase;
> public abstract class AbstractTestCase extends TestCase {
> // Eclipse complains that the Implicit Super Constructor TestCase()
> // is not visible for default constructor.  Must define an explicit
> constructor.
> }
> 
> Likewise, if I try to use the AbstractTestCase in another TestCase as
> shown below,  Eclipse complains that there is no default constructor
> when I try to run it in JUnit.
> 
> /** another test case  which uses the abstract Test Case */
> public class AnotherTest extends AbstractTestCase {
> public AnotherTest(String name){
> }
> 
> junit.framework.AssertionFailedError: Class AnotherTest has no public
> constructor TestCase(String name)
>     at junit.framework.Assert.fail(Assert.java:51)
>     at junit.framework.TestSuite$1.runTest(TestSuite.java:225)
>     at junit.framework.TestCase.runBare(TestCase.java:140)
>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>     at junit.framework.TestResult.run(TestResult.java:109)
>     at junit.framework.TestCase.run(TestCase.java:131)
>     at junit.framework.TestSuite.runTest(TestSuite.java:173)
>     at junit.framework.TestSuite.run(TestSuite.java:168)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTest
> Runner.java:436)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunne
> r.java:311)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunn
> er.java:192)
> 
> 
> AnotherTest *can't* have a constructor of TestCase(String name), because
> AbstractTestCase suppressed it.
> 
> Any thoughts?
> 
> --
> 
> Brian
> 
> 
> ---------
> You may unsubscribe from this mailing list
> by sending a blank email addressed to:
> users-unsubscribe@xxxxxxxxxx
> 
> --
> Find additional help by sending a blank email
> addressed to:
> users-help@xxxxxxxxxx



<Prev in Thread] Current Thread [Next in Thread>