【问题标题】:How to unit test a refresh functionality with stub objects如何使用存根对象对刷新功能进行单元测试
【发布时间】:2009-03-03 09:32:06
【问题描述】:

我正在做一个单元测试,它执行一些业务逻辑,最终会导致数据刷新(所以再次执行相同的查询)。

使用依赖注入(使用 Castle-Windsor),单元测试使用存根对象,因此从获取数据的方法返回一个静态实体列表。

那么如何测试这个方法是否被再次调用呢?

我在其中一个实体中滥用了日期时间字段来测试第二次获取(刷新后的日期时间!= 刷新前),但我认为这不是一个很好的解决方案。

有人可以为此提供一个优雅的解决方案吗?

【问题讨论】:

    标签: .net unit-testing


    【解决方案1】:

    问题“那么我怎样才能测试这个方法是否被再次调用?”听起来您真的想要 mocks 而不是 stubs - 您正在测试 protocol 而不仅仅是要返回一组静态数据。我个人喜欢Rhino.Mocks 库。

    【讨论】:

    • 感谢您的回答。但是您能否详细说明模拟对象如何帮助我解决这个问题? (我对 Rhino.Mocks 一无所知)
    • Mocking 测试您与依赖项的交互,而不仅仅是设置要返回的值。有关 Rhino.Mocks 的介绍,请参阅 ayende.com/wiki/Rhino+Mocks+Introduction.ashx - 对于一般的“什么是模拟”问题,我会搜索一篇好文章来开始。
    • (即我不知道任何好的文章,所以我会做一个搜索,你可以很容易地做到这一点。很抱歉我没有想到任何合适的资源。 )
    猜你喜欢
    • 2018-02-25
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2022-11-29
    • 2017-02-26
    相关资源
    最近更新 更多