let @Before/@After work for superclasses
This commit is contained in:
parent
ad2f3595b9
commit
e58acab9c8
|
@ -0,0 +1,5 @@
|
||||||
|
target
|
||||||
|
eclipsecompiled
|
||||||
|
.classpath
|
||||||
|
.project
|
||||||
|
.settings
|
0
src/main/java/be/cegeka/junit/jasmine/JasmineSpecFailureException.java
Executable file → Normal file
0
src/main/java/be/cegeka/junit/jasmine/JasmineSpecFailureException.java
Executable file → Normal file
0
src/main/java/be/cegeka/junit/jasmine/JasmineSpecRunnerGenerator.java
Executable file → Normal file
0
src/main/java/be/cegeka/junit/jasmine/JasmineSpecRunnerGenerator.java
Executable file → Normal file
|
@ -2,7 +2,6 @@ package be.cegeka.junit.jasmine;
|
||||||
|
|
||||||
import java.lang.annotation.Annotation;
|
import java.lang.annotation.Annotation;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.lang.reflect.Modifier;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
|
@ -134,14 +133,10 @@ public class JasmineTestRunner extends Runner {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fireMethodsWithSpecifiedAnnotationIfAny(Object testClassInstance, Class<? extends Annotation> annotation) {
|
private void fireMethodsWithSpecifiedAnnotationIfAny(Object testClassInstance, Class<? extends Annotation> annotation) {
|
||||||
for (Method method : testClass.getDeclaredMethods()) {
|
for (Method method : testClass.getMethods()) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (method.getAnnotation(annotation) != null) {
|
if (method.getAnnotation(annotation) != null) {
|
||||||
if (!Modifier.isPublic(method.getModifiers())) {
|
|
||||||
throw new IllegalStateException("Annotated method should be public!");
|
|
||||||
}
|
|
||||||
|
|
||||||
method.setAccessible(true);
|
method.setAccessible(true);
|
||||||
Class<?>[] parameterTypes = method.getParameterTypes();
|
Class<?>[] parameterTypes = method.getParameterTypes();
|
||||||
if (parameterTypes.length == 0) {
|
if (parameterTypes.length == 0) {
|
||||||
|
|
0
src/test/java/be/cegeka/junit/jasmine/JasmineSuiteGeneratesRunnerTest.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/JasmineSuiteGeneratesRunnerTest.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/JasmineTestRunnerBeforeAndAfterTest.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/JasmineTestRunnerBeforeAndAfterTest.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineSuiteGeneratorClassWithRunner.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineSuiteGeneratorClassWithRunner.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineSuiteGeneratorClassWithoutRunner.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineSuiteGeneratorClassWithoutRunner.java
Executable file → Normal file
52
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerBeforeAndAfterClass.java
Executable file → Normal file
52
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerBeforeAndAfterClass.java
Executable file → Normal file
|
@ -3,9 +3,6 @@ package be.cegeka.junit.jasmine.classes;
|
||||||
import static junit.framework.Assert.fail;
|
import static junit.framework.Assert.fail;
|
||||||
import static org.fest.assertions.Assertions.assertThat;
|
import static org.fest.assertions.Assertions.assertThat;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
||||||
|
@ -13,38 +10,27 @@ import be.cegeka.junit.jasmine.JasmineSuite;
|
||||||
import be.cegeka.rhino.RhinoContext;
|
import be.cegeka.rhino.RhinoContext;
|
||||||
|
|
||||||
@JasmineSuite(specs = { "emptySpec.js" })
|
@JasmineSuite(specs = { "emptySpec.js" })
|
||||||
public class JasmineTestRunnerBeforeAndAfterClass {
|
public class JasmineTestRunnerBeforeAndAfterClass extends JasmineTestRunnerBeforeAndAfterSuperClass {
|
||||||
|
|
||||||
private static final int RUN_MIJ_FLAG = 0;
|
@Before
|
||||||
private static final int RUN_MIJ_OOK_FLAG = 1;
|
public void runMij() {
|
||||||
|
assertThat(runs).isEmpty();
|
||||||
|
runs.add(RUN_MIJ_FLAG);
|
||||||
|
}
|
||||||
|
|
||||||
List<Integer> runs = new ArrayList<Integer>();
|
@After
|
||||||
|
public void runMijAfter() {
|
||||||
|
assertThat(runs).containsOnly(RUN_MIJ_FLAG, RUN_MIJ_OOK_FLAG);
|
||||||
|
runs.remove((Object) RUN_MIJ_FLAG);
|
||||||
|
}
|
||||||
|
|
||||||
@Before
|
@After
|
||||||
public void runMij() {
|
public void runMijAfterOok(RhinoContext context) {
|
||||||
assertThat(runs).isEmpty();
|
assertThat(runs).containsOnly(RUN_MIJ_OOK_FLAG);
|
||||||
runs.add(RUN_MIJ_FLAG);
|
runs.remove((Object) RUN_MIJ_OOK_FLAG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
public void runMijNiet() {
|
||||||
public void runMijOok(RhinoContext context) {
|
fail("should not be run");
|
||||||
assertThat(runs).containsOnly(RUN_MIJ_FLAG);
|
}
|
||||||
runs.add(RUN_MIJ_OOK_FLAG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@After
|
|
||||||
public void runMijAfter() {
|
|
||||||
assertThat(runs).containsOnly(RUN_MIJ_FLAG, RUN_MIJ_OOK_FLAG);
|
|
||||||
runs.remove((Object) RUN_MIJ_FLAG);
|
|
||||||
}
|
|
||||||
|
|
||||||
@After
|
|
||||||
public void runMijAfterOok(RhinoContext context) {
|
|
||||||
assertThat(runs).containsOnly(RUN_MIJ_OOK_FLAG);
|
|
||||||
runs.remove((Object) RUN_MIJ_OOK_FLAG);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void runMijNiet() {
|
|
||||||
fail("should not be run");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package be.cegeka.junit.jasmine.classes;
|
||||||
|
|
||||||
|
import static org.fest.assertions.Assertions.assertThat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
|
||||||
|
import be.cegeka.rhino.RhinoContext;
|
||||||
|
|
||||||
|
public class JasmineTestRunnerBeforeAndAfterSuperClass {
|
||||||
|
|
||||||
|
static final int RUN_MIJ_FLAG = 0;
|
||||||
|
static final int RUN_MIJ_OOK_FLAG = 1;
|
||||||
|
|
||||||
|
protected List<Integer> runs = new ArrayList<Integer>();
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void runMijOok(RhinoContext context) {
|
||||||
|
assertThat(runs).containsOnly(RUN_MIJ_FLAG);
|
||||||
|
runs.add(RUN_MIJ_OOK_FLAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerExceptionInJSCode.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerExceptionInJSCode.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerExceptionInSpec.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerExceptionInSpec.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerFailingSpec.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerFailingSpec.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerSuccessSpec.java
Executable file → Normal file
0
src/test/java/be/cegeka/junit/jasmine/classes/JasmineTestRunnerSuccessSpec.java
Executable file → Normal file
0
src/test/javascript/runners/JasmineSuiteGeneratorClassWithRunnerRunner.html
Executable file → Normal file
0
src/test/javascript/runners/JasmineSuiteGeneratorClassWithRunnerRunner.html
Executable file → Normal file
Reference in New Issue