gpt4 book ai didi

unit-testing - 如何对存储库方法进行单元测试

转载 作者:行者123 更新时间:2023-12-04 23:07:48 27 4
gpt4 key购买 nike

我有这种方法来进行单元测试:

public virtual TEntity Get(int id)
{
return _db.Set<TEntity>().Find(id);
}

有人可以告诉我如何进行单元测试吗?

我在想我需要测试的是使用正确的 ID 调用 Find 吗?

首先,我试图模拟上下文 _db使用最小起订量。 Set 不是虚拟的,所以不能使用 Verify .

有人可以建议另一种测试方法吗?

最佳答案

存储库实现通常充满了对 ORM API 的调用。没什么可单位在这里测试。你应该写一个 集成 代替测试。在 SQLite 等内存数据库中使用。阅读 thisthis .通过这种方式,您将涵盖您的映射、标准、HQL 等。我知道您正在使用 EF,但我认为该原则与 NHibernate 相同。

关于 mock _db .有一个很好的指导方针:Don't mock types you don't own .

关于unit-testing - 如何对存储库方法进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100744/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com