代码之家  ›  专栏  ›  技术社区  ›  Bryan Ash

编写用于访问SVN的特征

  •  1
  • Bryan Ash  · 技术社区  · 14 年前

    我正在开发一个访问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 回复  |  直到 14 年前
        1
  •  0
  •   Jamie Wong    14 年前

    如果您不需要实际测试SVN功能,只需完全模拟调用即可。

    摩卡很适合这个

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

        2
  •  0
  •   Bryan Ash    14 年前

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

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

    如果有人有兴趣看到更多的功能,请打开 issue