Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/Development/Testing/StrawManProposal

< EclipseLink‎ | Development‎ | Testing
Revision as of 14:06, 22 November 2007 by Michael.norman.oracle.com (Talk | contribs) ([http://en.wikipedia.org/wiki/Hollywood_Principle The Hollywood Principle])

From the EclipseLink DevMeeting 071017, create a straw-man proposal for a new consolidated testing framework

New Testing Framework

  • based on JUnit4 - Why?
    • JUnit3 is at end-of-life
    • Eclipse IDE has built-in support for JUnit4 tests
    • while various testing frameworks have been extended, JUnit4 is extensible by design

Looked at requirements from MOXy/SDO, JPA, this is what we've got so far ...

The Hollywood Principle

Don't call us, we'll call you

The existing tests have code that is strongly coupled between setting up resources and the testing code. The NTF instead injects the resource into a tagged variable. Setting up the context for the resource is done in a separate class with its own requirements for composition/aggregation/inheritance.

// javase imports
import java.util.Properties;

// JUnit imports
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

// ntf imports
import org.eclipse.persistence.ntf.TestContext;
import org.eclipse.persistence.ntf.TestContextRunner;
import org.eclipse.persistence.ntf.TestProperties;
import org.eclipse.persistence.ntf.Context;

@RunWith(TestContextRunner.class)
public class ASetOfSimpleTests {

    @TestProperties public static Properties properties;
    @TestContext(tag="context") public static Context<Object> context;

There are two different things being injected by the TestContextRunner:

  1. properties found in the ntf.xml file in the user's home directory
  2. Java System '-D' properties from the command line

The name and location of the ntf.xml file can be altered by the Java System properties -Dntf.file and -Dntf.dir

Back to the top