Skip to content

Commit

Permalink
#29: Refactored the TestEngine API
Browse files Browse the repository at this point in the history
- discoveryTests now returns the root testDescriptor and does not take and EngineDescriptor as argument
- TestPlan holds a mapping for the engines and their corresponding root test descriptor
  • Loading branch information
bechte committed Dec 3, 2015
1 parent 40ea4f2 commit 72be678
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 31 deletions.
Expand Up @@ -27,12 +27,12 @@ public void initTree() {
engineDescriptor = new EngineDescriptor(new TestEngine() {

@Override
public void discoverTests(TestPlanSpecification specification, EngineDescriptor engineDescriptor) {
public TestDescriptor discoverTests(TestPlanSpecification specification) {
return engineDescriptor;
}

@Override
public void execute(ExecutionRequest request) {

}

@Override
Expand Down
Expand Up @@ -13,9 +13,8 @@
import static org.junit.gen5.engine.TestPlanSpecification.build;
import static org.junit.gen5.engine.TestPlanSpecification.forClass;

import org.junit.Assert;
import org.junit.gen5.engine.EngineDescriptor;
import org.junit.gen5.engine.ExecutionRequest;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.TestPlanSpecification;

/**
Expand All @@ -33,18 +32,14 @@ protected TrackingTestExecutionListener executeTestsForClass(Class<?> testClass,
}

protected TrackingTestExecutionListener executeTests(TestPlanSpecification spec, int expectedDescriptorCount) {
EngineDescriptor engineDescriptor = discoverTests(spec);
Assert.assertEquals("# descriptors", expectedDescriptorCount, engineDescriptor.allChildren().size());

TestDescriptor testDescriptor = discoverTests(spec);
TrackingTestExecutionListener listener = new TrackingTestExecutionListener();
engine.execute(new ExecutionRequest(engineDescriptor, listener));
engine.execute(new ExecutionRequest(testDescriptor, listener));
return listener;
}

private EngineDescriptor discoverTests(TestPlanSpecification spec) {
EngineDescriptor engineDescriptor = new EngineDescriptor(engine);
engine.discoverTests(spec, engineDescriptor);
return engineDescriptor;
private TestDescriptor discoverTests(TestPlanSpecification spec) {
return engine.discoverTests(spec);
}

}
Expand Up @@ -10,8 +10,8 @@

package org.junit.gen5.engine.junit5.stubs;

import org.junit.gen5.engine.EngineDescriptor;
import org.junit.gen5.engine.ExecutionRequest;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.TestEngine;
import org.junit.gen5.engine.TestPlanSpecification;

Expand All @@ -28,7 +28,8 @@ public String getId() {
}

@Override
public void discoverTests(TestPlanSpecification specification, EngineDescriptor engineDescriptor) {
public TestDescriptor discoverTests(TestPlanSpecification specification) {
return null;
}

@Override
Expand Down
Expand Up @@ -10,24 +10,20 @@

package org.junit.gen5.engine.junit4;

import org.junit.gen5.engine.EngineDescriptor;
import org.junit.gen5.engine.ExecutionRequest;
import org.junit.gen5.engine.TestEngine;
import org.junit.gen5.engine.TestPlanSpecification;
import org.junit.gen5.engine.*;

public class JUnit4TestEngine implements TestEngine {

@Override
public String getId() {
return "junit4";
}

@Override
public void discoverTests(TestPlanSpecification specification, EngineDescriptor engineDescriptor) {
public TestDescriptor discoverTests(TestPlanSpecification specification) {
return null;
}

@Override
public void execute(ExecutionRequest request) {
}

}
Expand Up @@ -11,28 +11,22 @@
package org.junit.gen5.engine.junit5;

import org.junit.gen5.commons.util.Preconditions;
import org.junit.gen5.engine.EngineDescriptor;
import org.junit.gen5.engine.ExecutionRequest;
import org.junit.gen5.engine.TestEngine;
import org.junit.gen5.engine.TestPlanSpecification;
import org.junit.gen5.engine.*;

public class JUnit5TestEngine implements TestEngine {

@Override
public String getId() {
// TODO Consider using class names for engine IDs.
return "junit5";
}

@Override
public void discoverTests(TestPlanSpecification specification, EngineDescriptor engineDescriptor) {
public TestDescriptor discoverTests(TestPlanSpecification specification) {
Preconditions.notNull(specification, "specification must not be null");
Preconditions.notNull(engineDescriptor, "engineDescriptor must not be null");

return null;
}

@Override
public void execute(ExecutionRequest request) {
}

}
}

0 comments on commit 72be678

Please sign in to comment.