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.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.junit.After;
|
||||
|
@ -134,14 +133,10 @@ public class JasmineTestRunner extends Runner {
|
|||
}
|
||||
|
||||
private void fireMethodsWithSpecifiedAnnotationIfAny(Object testClassInstance, Class<? extends Annotation> annotation) {
|
||||
for (Method method : testClass.getDeclaredMethods()) {
|
||||
for (Method method : testClass.getMethods()) {
|
||||
|
||||
try {
|
||||
if (method.getAnnotation(annotation) != null) {
|
||||
if (!Modifier.isPublic(method.getModifiers())) {
|
||||
throw new IllegalStateException("Annotated method should be public!");
|
||||
}
|
||||
|
||||
method.setAccessible(true);
|
||||
Class<?>[] parameterTypes = method.getParameterTypes();
|
||||
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 org.fest.assertions.Assertions.assertThat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
|
||||
|
@ -13,38 +10,27 @@ import be.cegeka.junit.jasmine.JasmineSuite;
|
|||
import be.cegeka.rhino.RhinoContext;
|
||||
|
||||
@JasmineSuite(specs = { "emptySpec.js" })
|
||||
public class JasmineTestRunnerBeforeAndAfterClass {
|
||||
public class JasmineTestRunnerBeforeAndAfterClass extends JasmineTestRunnerBeforeAndAfterSuperClass {
|
||||
|
||||
private static final int RUN_MIJ_FLAG = 0;
|
||||
private static final int RUN_MIJ_OOK_FLAG = 1;
|
||||
@Before
|
||||
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
|
||||
public void runMij() {
|
||||
assertThat(runs).isEmpty();
|
||||
runs.add(RUN_MIJ_FLAG);
|
||||
}
|
||||
@After
|
||||
public void runMijAfterOok(RhinoContext context) {
|
||||
assertThat(runs).containsOnly(RUN_MIJ_OOK_FLAG);
|
||||
runs.remove((Object) RUN_MIJ_OOK_FLAG);
|
||||
}
|
||||
|
||||
@Before
|
||||
public void runMijOok(RhinoContext context) {
|
||||
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");
|
||||
}
|
||||
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