2010-06-30 101 views
1

我正在开发一个工具,通过运行命令行SVN获取信息和导出来访问SVN。写作黄瓜功能访问SVN

我想写一些黄瓜功能,所以我不必手动测试,但我想嘲笑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中提取的正确版本演示,而无需实际创建一个存储库。

回答

0

我放弃了寻找和等待,写我自己的,MockVersion

这提供了一些基本的svnsvnadmin功能,以便我可以创建一个具有特定修订的模拟存储库并验证这些文件是否已导出。

如果任何人有兴趣看到更多的功能,请在github上打开issue

0

如果您不需要真正测试SVN功能,只需完全嘲笑这些调用。

摩卡是为这个伟大的

退房(没有双关语意)http://blog.floehopper.org/articles/2006/09/01/mocha-quickstart

+0

感谢您的回复。我有规定嘲笑最低级别的呼叫。我想我正在寻找一种端到端解决方案,它足够灵活,可以指定SVN文件修订版。 – 2010-06-30 04:17:43