【问题标题】:Making a ravendb unit test fail使 ravendb 单元测试失败
【发布时间】:2012-06-01 23:43:18
【问题描述】:

我正在使用 RavenDB(顺便说一句很棒的产品)开展一个项目,并且我正努力咬紧牙关,实际上从一开始就对我的代码进行单元和集成测试。我的第一组测试只是基本的健全性测试,以查看我的代码是否可以实际连接到数据库,因为我想查看我的连接代码和测试环境是否实际配置正确。我尝试进行这样的一组测试,以防万一以后事情真的失败了,这样我就可以确定我是否在较低级别做了一些愚蠢的事情。

我正在创建一个 DocumentStore,然后从中初始化一个会话。显然,即使服务器上不存在数据库本身,该过程中的代码仍然可以正常工作而不会出错。我怎样才能真正测试我可以用这个东西连接到一个工作数据库?我应该只是伪造一份文件并尝试将其塞进去,还是我错过了一种更简单的方法?

【问题讨论】:

    标签: unit-testing ravendb


    【解决方案1】:

    意志, 我不确定我明白你的意思。您想看到尝试访问不存在的数据库会失败吗? 在这种情况下,这里会抛出一些东西:

    using(var store = new DocumentStore{Url = "http://localhost:8080"}.Initialize())
    using(var session = store.OpenSession("Database-Name-That-Does-Not-Exist"))
    {
        session.Load<object>("some-doc-id");
    
    }
    

    【讨论】:

    • 我最终只是打开了一个会话,然后尝试获取数据库的统计信息。当数据库不存在时,它会抛出并且当它存在时会顺利进行。基本上,当我破坏整个事情时(例如,当我移动到另一台机器并且那里没有数据库时),我试图创建一套测试来帮助进行故障排除。这只是为了减少我拉头发试图弄清楚我搞砸了什么的时间。不过,我想向您指出,我对进出物品的测试既简单又轻松。一切都很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 2016-06-23
    相关资源
    最近更新 更多