1 package org.apache.archiva.web.test.tools;
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
21 import org.junit.runners.BlockJUnit4ClassRunner;
22 import org.junit.runners.model.FrameworkMethod;
23 import org.junit.runners.model.InitializationError;
24 import org.junit.runners.model.Statement;
26 import java.util.List;
29 * @author Olivier Lamy
31 public class ArchivaSeleniumRunner
32 extends BlockJUnit4ClassRunner
36 * @param clazz Test class
37 * @throws InitializationError if the test class is malformed.
39 public ArchivaSeleniumRunner( Class<?> clazz )
40 throws InitializationError
46 * FIXME move that to a Rule.
49 protected Statement withAfters( FrameworkMethod method, Object target, Statement statement )
51 statement = super.withAfters( method, target, statement );
52 return withAfterFailures( method, target, statement );
55 protected Statement withAfterFailures( FrameworkMethod method, Object target, Statement statement )
57 List<FrameworkMethod> failures = getTestClass().getAnnotatedMethods( AfterSeleniumFailure.class );
58 return new RunAfterSeleniumFailures( statement, failures, target );