Ответ James Neville работает над 4,3. Однако я использовал AndroidX API, Espresso и Kotlin:
// scenario initialization is done in @Before setUp method, I did it here for brevity
val scenario = ActivityScenario.launch(MainActivity::class.java)
@Test fun test() {
onView(withId(R.id.button_id)).perform(click())
scenario.onActivity { activity ->
val intent = shadowOf(activity).nextStartedActivity
val shadowIntent = shadowOf(intent)
assertEquals(SearchResultsActivity::class.java, shadowIntent.intentClass)
}
}
Да, я считаю, что вам нужен spring-agent.jar в качестве javaagent. Кроме того, я не знаю, так ли это, но является ли MethodTimer аспектом или это то, что вы пытаетесь пересечь? Если это аспект, то ему нужна аннотация @Aspect.
Вы также можете использовать свой собственный файл META-INF / aop.xml и указать
Оказалось, что это был плагин Eclipse, который я использовал для запуска Tomcat. Вся наша команда стала полагаться на него, никогда не запуская Tomcat из командной строки на наших локальных машинах. Он что-то делает с загрузчиком классов, который сломал LTW. Когда я наконец запустил Tomcat из командной строки, все заработало отлично. Для записи вам НЕ потребуется -javaagent: path / to / spring-agent.jar, если вы укажете TomcatInstrumentableClassLoader в server.xml.