【问题标题】:Spring MVC - testing servicesSpring MVC - 测试服务
【发布时间】:2017-12-04 19:23:27
【问题描述】:

我有一个关于 Spring 框架中的服务层测试的问题。 我有一个 ProductService 类,它有方法:

public List<Product> getProducts() {
    return productDAO.getProducts();
}

有什么方法可以正确测试吗?这种方法使用 dao 层检索所有产品,例如,当我用五个产品(现在在数据库中)填充一个列表并通过断言列表的大小来测试这个方法它似乎没用,因为当我添加一个产品时它仍然通过,但它不应该 - 添加一种产品后,它应该返回 6 而不是 5 产品...... 如果您有任何关于春季单元测试的有用网站/yt 视频,请告诉我。 提前感谢您的帮助! 问候

【问题讨论】:

    标签: java spring unit-testing spring-mvc spring-mvc-test


    【解决方案1】:

    您可以用来测试此特定代码的一种技术是使用框架模拟 productDAO。然后,模拟对象会提供您可以在单元测试中测试的特定结果。

    【讨论】:

    • 感谢您的回答,我正在使用 mockito 和 hamcrest。我使用 MockMvc 和 mockito 来模拟 dao。我的问题是如何正确地覆盖这段代码,就像我之前在模拟 productDao 并硬编码该方法返回 5 个产品(例如)时所写的那样,然后我将再将一个产品放入数据库,它仍然可以通过,但它不应该(会有是数据库中的 6 个产品,并且在单元测试中断言将期望 5 个产品。所以用单元测试覆盖这段代码可能没用,我应该只为 DAO 类编写单元测试吗?谢谢你的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 2021-03-15
    • 2016-04-03
    • 2011-07-18
    • 1970-01-01
    相关资源
    最近更新 更多