View Javadoc
1   /*
2    * Copyright 2002-2016 the original author or authors
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *   http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package com.github.springtestdbunit;
18  
19  import java.lang.reflect.Method;
20  
21  import org.dbunit.database.IDatabaseConnection;
22  import org.dbunit.dataset.IDataSet;
23  
24  import com.github.springtestdbunit.dataset.DataSetLoader;
25  import com.github.springtestdbunit.operation.DatabaseOperationLookup;
26  
27  /**
28   * Provides context for the {@link DbUnitRunner}.
29   *
30   * @author Phillip Webb
31   */
32  public interface DbUnitTestContext {
33  
34  	/**
35  	 * Returns the {@link IDatabaseConnection} that should be used when performing database setup and teardown.
36  	 * @return The connection
37  	 */
38  	DatabaseConnections getConnections();
39  
40  	/**
41  	 * Returns the {@link DataSetLoader} that should be used to load {@link IDataSet}s.
42  	 * @return The dataset loader
43  	 */
44  	DataSetLoader getDataSetLoader();
45  
46  	/**
47  	 * Returns the {@link DatabaseOperationLookup} that should be used to lookup database operations.
48  	 * @return the database operation lookup
49  	 */
50  	DatabaseOperationLookup getDatbaseOperationLookup();
51  
52  	/**
53  	 * Returns the class that is under test.
54  	 * @return The class under test
55  	 */
56  	Class<?> getTestClass();
57  
58  	/**
59  	 * Returns the instance that is under test.
60  	 * @return The instance under test
61  	 */
62  	Object getTestInstance();
63  
64  	/**
65  	 * Returns the method that is under test.
66  	 * @return The method under test
67  	 */
68  	Method getTestMethod();
69  
70  	/**
71  	 * Returns any exception that was thrown during the test or <tt>null</tt> if no test exception occurred.
72  	 * @return the test exception or <tt>null</tt>
73  	 */
74  	Throwable getTestException();
75  
76  }