Написание функций Cucumber для доступа к SVN - PullRequest
1 голос
/ 30 июня 2010

Я разрабатываю инструмент, который обращается к SVN путем запуска командной строки SVN для получения информации и экспорта.

Я хотел бы написать некоторые функции Cucumber, поэтому мне не нужно продолжать тестирование вручную, но я хотел бы смоделировать обращения к SVN.

  1. Стоит ли переходить на использование библиотеки Ruby SVN и, если да, то какую?

  2. Или существует поддельный svn.exe, который будет обеспечивать программируемые ответы?

РЕДАКТИРОВАТЬ:

Инструмент берет путь к файлу, находит ревизию родительского URL на несколько уровней выше, а затем экспортирует группу файлов и папок с этой ревизией в новый каталог. Я хотел бы написать что-то вроде:

Given the file "extra1.txt" contains:
"""
extra1
"""

And the file "file.txt" contains:
"""
file
"""

And SVN holds the following files at revisions:
| tests/extras/extra1.txt    | 123 | extra1.txt |
| tests/path/part05/file.txt | 73  | file.txt   |

When I run "ruby dry_run_create c:\tests\path\part05\file.txt"

Then the file "c:\tests\path\part05\dry_run\extra1.txt" should contain:
"""
extra1
"""

And the file "c:\tests\path\part05\dry_run\file.txt" should contain:
"""
file
"""

С такими примерами я мог бы вечно продемонстрировать, что правильные ревизии извлекаются из SVN без необходимости создавать репозиторий.

Ответы [ 2 ]

0 голосов
/ 25 июля 2010

Я перестал искать и ждать и написал свой собственный MockVersion .

. Он обеспечивает некоторые базовые функции svn и svnadmin, так что я могу создать фиктивный репозиторий с конкретнымиверсии и убедитесь, что эти файлы экспортированы.

Если кому-то интересно узнать больше функциональности, пожалуйста, откройте проблему на github.

0 голосов
/ 30 июня 2010

Если вам не нужно проверять функциональность SVN, просто смоделируйте вызовы полностью.

Мокко отлично подходит для этого

Выезд (без каламбура) http://blog.floehopper.org/articles/2006/09/01/mocha-quickstart

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...