Я могу расширить шепелявость с помощью C++?

Вы должны настроить @Spy в методе @Before, потому что во время создания класса макеты еще не инициализированы:

public class MyWebSocketHandlerDecpratorTest {
    @Mock
    private WebSocketSession session;

    @Mock
    WebSocketHandler delegate;

    private WebSocketHandlerDecorator webSocketHandlerDecorator;

    @InjectMocks
    MyWebSocketHandlerDecorator myWebSocketHandlerDecorator;

    private TextMessage message;

    @Before
    public void set_up(){
        MockitoAnnotations.initMocks(this);
        webSocketHandlerDecorator = Mockito.spy(new WebSocketHandlerDecorator(delegate));
        message = new TextMessage("Test Message".getBytes());
    }

    @Test
    public void handleMessage()throws Exception{
        myWebSocketHandlerDecorator.handleMessage(session, message);
        verify(webSocketHandlerDecorator, times(1)).handleMessage(session, message);
    }
}
5
задан codeassembly 18 December 2008 в 20:26
поделиться

3 ответа

Необычно назвать код нешепелявости от шепелявости, и редко необходимый. CLX (клиентская реализация X11 для CL) не связывается с реализацией Xlib, но "говорит" X11 непосредственно. В любой системе Ваша реализация CL, вероятно, будет уже иметь превосходные рычаги операционной системы, представляющие это ненужное.

Тем не менее ответ зависит от реализации шепелявости:

В ECL можно на самом деле разместить среду CL под C и просто звонить cl_eval() с кодом для выполнения. Это может позволить Вам записать, что Ваше приложение (или хост приложений) в C (или C++) и "звонит в" код шепелявости.

В CCL существует C-compatible, называющий интерфейс, который позволяет Вам сделать что-то вроде этого:

(with-cstrs ((x "Hello World"))
  (#_puts x))

В большинстве других реализаций CL (как SBCL; и да это работает в ECL и CCL также), можно использовать UFFI (или CFFI), который просто позволяет Вам вызвать функции C, который является тем, о чем говорят другие люди. Если это - все, что Вы хотите сделать, то CFFI является хорошим, безопасным местом для запуска.

8
ответ дан 18 December 2019 в 09:54
поделиться
5
ответ дан 18 December 2019 в 09:54
поделиться

CFFI!

4
ответ дан 18 December 2019 в 09:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: