Spring3.1アプリケーションがあります。そして、私はスプリングインスツルメントのJavaエージェントを持っています、私は設定可能なクラスを持っています:
@Configurable
public class WeavingClass {
@Resource
@Getter
private ApplicationContext ac;
public WeavingClass()
{
}
}
そして、ユニットテストを行います:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={WebBackendContextConfig.class})
@Slf4j
public class TestWeavingInjection extends TestCase {
@Test
public void isInjectedTest()
{
WeavingClass wc = new WeavingClass();
assertNotNull(wc.getAc());
}
}
そして持っている:
@Configuration
@PropertySource(value={"classpath:META-INF/conf/liteicms-backend.properties"})
@ComponentScan(value={"ru.icb.liteicms.backend.service", "ru.icb.liteicms.domain", "ru.icb.liteicms.backend.domain.contentpage.wrappers"})
@EnableSpringConfigured
@EnableLoadTimeWeaving
@EnableAspectJAutoProxy
public class WebBackendContextConfig {
}
-javaagent:org.springframework.instrument-3.1.1.RELEASE.jarを使用してテストを実行します。テストはエラーなしで機能します。
しかし、これを追加すると:
private HashMap<Class<?>, Class<?>> builderMap = new HashMap<Class<?>, Class<?>>()
{
private static final long serialVersionUID = 1L;
{
put(String.class, WeavingClass.class);
}
};
私のテストは壊れました。