Сервлеты поблочного тестирования [закрываются]

Для сравнения данных методов с другими доступными методами обратитесь к ответу @Jezrael.

Метод 1

Чтобы добавить фиктивный столбец, содержащий ., используйте его при обработке, а затем отбросьте его:

%%timeit
df3['dummy'] ='.'
res = df3['job_number'].values.astype(str) + df3['dummy'] + df3['task_number'].values.astype(str)
df3.drop(columns=['dummy'], inplace=True)

1.31 ms ± 41.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

В расширение метода 1, если исключить время обработки создания фиктивного столбца и его отбрасывания, тогда это лучшее, что вы получите -

%%timeit
df3['job_number'].values.astype(str) + df3['dummy'] + df3['task_number'].values.astype(str)

286 µs ± 15.9 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
<час>

Метод 2

Использование apply

%timeit df3.T.apply(lambda x: str(x[0]) + '.' + str(x[1]))

883 µs ± 22 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
14
задан Yuval F 10 September 2008 в 06:42
поделиться

4 ответа

Выезд ServletUnit, который является частью HttpUnit. Короче говоря ServletUnit обеспечивает библиотеку насмешек и утилит, которые можно использовать в обычных тестах JUnit для насмешки контейнера сервлета и других связанных с сервлетом объектов как объектов ответа и запрос. Ссылка выше содержит примеры.

9
ответ дан 1 December 2019 в 12:28
поделиться

Платформа Spring имеет хорошие готовые фиктивные объекты для нескольких классов из Сервлета API:

http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/mock/web/package-summary.html

6
ответ дан 1 December 2019 в 12:28
поделиться

Хорошо. Игнорирование 'кота' укусило и кодирующий к сервлету, Ваш лучший выбор состоит в том, чтобы создать насмешки для ответа и объектов запроса, и затем сказать его, что Вы ожидаете из него.

Так для стандартного пустого doPost и использования EasyMock, Вы будете иметь

public void testPost() {
   mockRequest = createMock(HttpServletRequest.class);
   mockResponse = createMock(HttpServletResponse.class);
   replay(mockRequest, mockResponse);
   myServlet.doPost(mockRequest, mockResponse);
   verify(mockRequest, mockResponse);
}

, Затем начинают добавлять код к doPost. Насмешки перестанут работать, потому что у них нет ожиданий, и затем можно настроить ожидания оттуда.

Примечание, что, если Вы хотите использовать EasyMock с классами, необходимо будет пользоваться библиотекой расширения класса EasyMock. Но это будет работать тот же путь с тех пор.

5
ответ дан 1 December 2019 в 12:28
поделиться

Для тестирования "в контейнере" взгляните на Кактус

, Если Вы хотите смочь протестировать без рабочего контейнера, можно или моделировать его компоненты с собственным mockobjects (например, с EasyMock), или Вы могли попробовать MockRunner, который "предопределил" Тупики для тестирования сервлетов, соединения JDBC и т.д.

1
ответ дан 1 December 2019 в 12:28
поделиться
Другие вопросы по тегам:

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