У меня есть некоторые анонимные классы Action
в модульном тестовом коде. У анонимных классов нет имени. Class#getSimpleName
возвращение ""
. Он вызывает IndexOutOfBoundException
при инициализации условного плагина. PackageBasedActionConfigBuilder#buildConfiguration
пропускает все интерфейсы, перечисления, аннотации и абстрактные классы. Он также должен пропустить анонимные классы. Добавьте actionClass.isAnonymous()
в состояние пропуска. У меня есть некоторые анонимные классы Action в моем модульном тестовом коде. Это не хороший дизайн.Анонимные классы классов вызывает IndexOutOfBoundException
private PageAction action;
@Before
public void beforeEach() {
action = new PageAction() {};
}
@Test
public void shouldAcceptAndPublicPageId() {
action.setPageId(1);
assertEquals(1, action.getRequestedPageId());
}
...
// To bypass complex logic in ViewPageAction
@Before
public void beforeEach() {
action = new ViewPageAction() {
boolean isPageBookmarkedByUser(Page page, User user) { return true; }
VisitPage visitPage() { return null; }
};
coreService = mockery.mock(CoreService.class);
action.setCoreService(coreService);
uiService = mockery.mock(UiService.class);
action.setUiService(uiService);
pageRepository = mockery.mock(PageRepository.class);
action.setPageRepository(pageRepository);
pageAttachmentRepository = mockery.mock(PageAttachmentRepository.class);
action.setPageAttachmentRepository(pageAttachmentRepository);
wiki = WikiTest.publicWiki();
action.setWiki(wiki);
User user = UserTest.FOO;
action.setUser(user);
}
@Test
public void success() {
final Page page = PageTest.FOO_PAGE;
final String text = "Content of the page";
final PageRevision latestRevision = MockPageRevision.FOO_REV2;
}
Спасибо за любую помощь
@pobelkey Я стараюсь, но это не работает :( –