Тест:: Единица, все еще релевантная в направляющих?

Как сказал DrPhill, вы должны отслеживать, где вы были. Вы уже делаете это в функции mark, но не используете эту информацию в функции checkValidMovement.

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

private static boolean checkValidMovement(int[][] maze, int stepX, int stepY , int movement, int[][] solution)
  {
    if(checkNotOutOfBounds(maze, stepX, stepY, movement) 
        && checkNotCollideWithObstacle(maze, stepX, stepY, movement)
        && isNotYetVisited(maze, stepX, stepY, movement, solution))
    {
      return true;
    }
    return false;
  }   

где функция isNotYetVisited возвращает false, если значение solution на следующем шаге не равно 1.

Надеюсь, это поможет.

17
задан 3 revs, 2 users 100% 11 October 2011 в 22:50
поделиться

3 ответа

Мир изменился! Проверьте вниз и upvote @prusswan

Я думаю Тест:: Единица все еще релевантна даже при том, что существует большая шумиха окружающий BDD и другие инструменты тестирования.

Однако если Вы подлежите ему, Вы могли бы обойти изучение Теста:: Единица и запускается с чего-то как RSpec и Должна иметь сразу же, но существует что-то, чтобы быть сказанным о выполнении примеров в Гибкой Книге веб-разработки для наблюдения, куда идеи от BDD прибыли из.

Я использую все еще Тест:: Единица для некоторых проектов, так как это идет с направляющими и является все еще очень большой средой тестирования.

Такая длинная короткая история, я не думаю, что это является устаревшим, но это больше не лезвие. BDD является сдвигом парадигмы тестирования особенно, если Вы начинаете использовать Cucumber и Webrat, но это фантастически, после того как Вы входите в него. Должен иметь является самым легким сделать переход к, таким образом, я запустил бы с Теста:: Единица, затем переместитесь в, Должен иметь, затем Дать RSpec и Огурцу попытку.

Вы тестируете или по крайней мере заинтересованные тестированием! Это - большая часть. В конце не имеет значения, что Вы используете, пока Вы довольны им.

Удачи!

16
ответ дан 30 November 2019 в 12:08
поделиться

Многие люди все еще любят Test :: Unit, и в какой-то степени это личное предпочтение. Однако в целом вы найдете гораздо больше активности на фронте RSpec. Все действительно классные вещи делаются с RSpec и Cucumber, поэтому, если у вас нет личных предпочтений, я бы, вероятно, пропустил Test :: Unit. Однако вы должны быть достаточно знакомы с ним, чтобы читать чужие тесты, написанные с ним, но я не предвижу, что это когда-либо будет проблемой.

1
ответ дан 30 November 2019 в 12:08
поделиться

Rspec - это совершенно отдельная среда тестирования. Shoulda - это расширение встроенного фреймворка Rails Test :: Unit. Если вы используете Shoulda, вы используете Test :: Unit, но с более широкими возможностями и более простым, более читаемым синтаксисом.

Я пробовал Rspec и Shoulda, и для меня Shoulda побеждает. Мне это нравится больше. Но это может быть дело вкуса.

Обратите внимание, что вы можете использовать Cucumber с Shoulda .

Другие ресурсы? Я рекомендую драгоценные камни ZenTest и RedGreen. ZenTest предоставляет автотест, который позволяет запускать тесты автоматически каждый раз при изменении файла. Это большая помощь.

Что касается приспособлений и фабрик, если вам нужно создать кучу взаимосвязанных объектов, где вы тестируете обе стороны или отношения родитель-потомок и / или тестируете отношения «многие ко многим», приспособления работать намного лучше. На самом деле я даже не уверен, что вы можете сделать это с заводами. Так что не сбрасывайте со счетов приспособления - они имеют свое применение.

Если вам нужно настроить набор взаимосвязанных объектов, где вы тестируете обе стороны или отношения родитель-потомок и / или тестируете отношения «многие ко многим», фикстуры работают намного лучше. На самом деле я даже не уверен, что вы можете сделать это с заводами. Так что не сбрасывайте со счетов приспособления - они имеют свое применение.

Если вам нужно настроить набор взаимосвязанных объектов, где вы тестируете обе стороны или отношения родитель-потомок и / или тестируете отношения «многие ко многим», фикстуры работают намного лучше. На самом деле я даже не уверен, что вы можете сделать это с заводами. Так что не сбрасывайте со счетов приспособления - они имеют свое применение.

4
ответ дан 30 November 2019 в 12:08
поделиться
Другие вопросы по тегам:

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