差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| study:java:powermock:integation [2025/01/30 10:06] – banana | study:java:powermock:integation [2025/02/07 02:28] (現在) – [log4j設定] banana | ||
|---|---|---|---|
| 行 9: | 行 9: | ||
| |java.version|1.8| | | |java.version|1.8| | | ||
| |powermock.version|2.0.9| | | |powermock.version|2.0.9| | | ||
| + | |log4j.version|2.17.1| | | ||
| Mavenプロジェクトのplugin設定を以下に示す。 | Mavenプロジェクトのplugin設定を以下に示す。 | ||
| 行 38: | 行 39: | ||
| |commons-beanutils|commons-beanutils|1.9.3| | | |commons-beanutils|commons-beanutils|1.9.3| | | ||
| |com.google.inject|guice|5.0.1| | | |com.google.inject|guice|5.0.1| | | ||
| - | |org.apache.logging.log4j|log4j-1.2-api|2.17.1|test| | + | |org.apache.logging.log4j|log4j-1.2-api|${log4j.version}|test| |
| - | |org.apache.logging.log4j|log4j-api|2.17.1|test| | + | |org.apache.logging.log4j|log4j-api|${log4j.version}|test| |
| - | |org.apache.logging.log4j|log4j-core|2.17.1|test| | + | |org.apache.logging.log4j|log4j-core|${log4j.version}|test| |
| 行 48: | 行 49: | ||
| <code java> | <code java> | ||
| @Listeners({CustomTestMethodListener.class}) | @Listeners({CustomTestMethodListener.class}) | ||
| - | @MockPolicy(Slf4jMockPolicy.class) | + | @PowerMockIgnore({" |
| - | @PowerMockIgnore({" | + | |
| " | " | ||
| public abstract class AbstractCustomTestCase extends PowerMockTestCase { | public abstract class AbstractCustomTestCase extends PowerMockTestCase { | ||
| 行 72: | 行 72: | ||
| @BeforeClass | @BeforeClass | ||
| protected void setUp() throws Exception { | protected void setUp() throws Exception { | ||
| + | setUpLog4j(); | ||
| setUpDbunitTester(); | setUpDbunitTester(); | ||
| prepareSpecific(); | prepareSpecific(); | ||
| 行 86: | 行 87: | ||
| protected void tearDownHook() throws Exception { | protected void tearDownHook() throws Exception { | ||
| - | //nop | + | //NOP |
| } | } | ||
| 行 93: | 行 94: | ||
| // Creates a new JdbcDatabaseTester | // Creates a new JdbcDatabaseTester | ||
| private void setUpDbunitTester() throws Exception { | private void setUpDbunitTester() throws Exception { | ||
| - | DataSource _ds = DataSourceLocator.getDataSource(DBConstants.NPDS); | + | DataSource _ds = DataSourceLocator.getDataSource(DBConstants.EPADS); |
| databaseTester = new DataSourceDatabaseTester(_ds); | databaseTester = new DataSourceDatabaseTester(_ds); | ||
| 行 101: | 行 102: | ||
| DatabaseConfig _config = databaseTester.getConnection().getConfig(); | DatabaseConfig _config = databaseTester.getConnection().getConfig(); | ||
| _config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, | _config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, | ||
| + | } | ||
| + | |||
| + | //Enable Log4j 1.x bridge | ||
| + | private void setUpLog4j() { | ||
| + | System.setProperty(" | ||
| } | } | ||
| 行 125: | 行 131: | ||
| if (method.isTestMethod()) { | if (method.isTestMethod()) { | ||
| System.out.println(" | System.out.println(" | ||
| - | //paramerters | + | //parameters |
| System.out.println(" | System.out.println(" | ||
| } | } | ||
| 行 134: | 行 140: | ||
| */ | */ | ||
| public void afterInvocation(IInvokedMethod method, ITestResult testResult) { | public void afterInvocation(IInvokedMethod method, ITestResult testResult) { | ||
| - | // nop | + | //NOP |
| } | } | ||
| 行 155: | 行 161: | ||
| ===== @PowerMockIgnore ===== | ===== @PowerMockIgnore ===== | ||
| %%TestNG%%と%%PowerMock%%を同時に使うと、%%TestNG%%の%%ClassLoader%%によりloadingされたクラスが、%%PowerMocker%%の%%ClassLoader%%にloadingされエラーになることがある。\\ | %%TestNG%%と%%PowerMock%%を同時に使うと、%%TestNG%%の%%ClassLoader%%によりloadingされたクラスが、%%PowerMocker%%の%%ClassLoader%%にloadingされエラーになることがある。\\ | ||
| - | それを回避させるために、用意されているのが%%@PowerMockIgnore%% annotationになる。 | + | それを回避するために、用意されているのが%%@PowerMockIgnore%% annotationになる。 |
| サンプルのParentクラスで指定した設定の意味を次に示す。 | サンプルのParentクラスで指定した設定の意味を次に示す。 | ||
| 行 161: | 行 167: | ||
| |javax.management.*|DBUnitと統合| | |javax.management.*|DBUnitと統合| | ||
| |javax.net.ssl.*|DBUnitと統合| | |javax.net.ssl.*|DBUnitと統合| | ||
| - | |javax.security.auth.x500.X500Principal|DBUnitと統合| | + | |javax.security.auth.x500.*|DBUnitと統合| |
| |oracle.jdbc.*|Oracle接続| | |oracle.jdbc.*|Oracle接続| | ||
| |javax.sql.*|SQL Server接続| | |javax.sql.*|SQL Server接続| | ||
| |com.microsoft.sqlserver.*|SQL Server接続| | |com.microsoft.sqlserver.*|SQL Server接続| | ||
| + | |||
| + | ====== log4j設定 ====== | ||
| + | log4j-2.xのlogging設定ファイルとしてlog4j2-test.xmlをsrc/ | ||
| + | 設定例を以下に示す。 | ||
| + | < | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | <Console name=" | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | fileName=" | ||
| + | filePattern=" | ||
| + | > | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | fileName=" | ||
| + | filePattern=" | ||
| + | > | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | <!-- rootLoggerへ伝播を防ぐため、additivity=false指定 | ||
| + | <Logger name=" | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | <!-- 基本loggingレベル --> | ||
| + | <Root level=" | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | ====== logback.xml設定 ====== | ||
| + | logback-classicをloggingとして使う場合の設定例を以下に示します。 | ||
| + | < | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <!-- コンソール出力 --> | ||
| + | < | ||
| + | <encoder class=" | ||
| + | < | ||
| + | %d{yyyy-MM-dd HH: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <!-- | ||
| + | ファイルへ出力 | ||
| + | --> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | <encoder class=" | ||
| + | < | ||
| + | %d{yyyy-MM-dd HH: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <logger name=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | <!-- spring web client logging --> | ||
| + | <logger name=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | <!-- spring http client logging --> | ||
| + | <logger name=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | <!-- suppress full wire logging --> | ||
| + | <logger name=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | <!-- header and context logging --> | ||
| + | <logger name=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | <!-- turn OFF all logging (children can override) --> | ||
| + | <root level=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||