Как проверить клиент очереди сообщений? - PullRequest
0 голосов
/ 10 февраля 2009

Я работаю над клиентом Java Java Queue Message Beanstalk и сейчас мои тесты выглядят так:

  //make sure our getJob can handle utf8 characters
  @Test
  public void testUTF8() {
    bean = new Beanstalk();
    Job job = new Job();
    bean.putJob("€");
    job = bean.getJob();
    assertEquals("€", job.msg);
    bean.close();
  }

Я читал, что вам не следует проверять саму очередь, потому что я пишу не код, а Я пишу код клиента - есть ли лучший способ написать это? Мне действительно нужны тесты, чтобы удостовериться в себе, но помимо стиля это еще и боль в заднице, чтобы настроить мой CI.

1 Ответ

2 голосов
/ 10 февраля 2009

Я не думаю, что что-то не так с написанием модульных тестов для определения / документирования поведения внешней библиотеки. Если вы включите этот тест в свою кодовую базу, то у вас будет запись о том, что ваша очередь должна поддерживать UTF8; если в будущем вы перейдете на другой механизм организации очередей, этот тест будет прерван, и его придется переписать, что заставит разработчика нового механизма организации очередей рассмотреть, может ли новая система также обрабатывать UTF8. Это хорошая вещь, на мой взгляд.

Что касается настройки этого в вашем CI, я предлагаю вам классифицировать его как интеграционный тест и запустить его на компьютере CI, на котором установлена ​​поддержка очередей, если он у вас есть.

...