gpt4 book ai didi

c# - 如何对 IRepository 进行单元测试?

转载 作者:行者123 更新时间:2023-11-30 12:14:08 25 4
gpt4 key购买 nike

我使用提到的存储库编写了以下方法在以下博客文章 (http://www.codecapers.com/post/Using-RavenDB-with-ASPNET-MVC.aspx) 中使用 RavenDB:

public User GetUserById(string id)
{
var user = (from usr in _repository.All<User>() where usr.Id == id select usr).FirstOrDefault();

if (user == null)
{
throw new NullReferenceException("No user with the id (" + id + ") could be found.");
}

return user;
}

您将如何使用 nunit(可能还有最小起订量)对该方法进行单元测试?

“user”只是一个普通类。

最佳答案

通常您不会直接针对存储库层编写测试。例如,假设您正在使用 nHibernate 或 Entity Framework,而不是针对存储库进行测试从技术上讲就是在测试该框架。

创建者或那些 ORM 已经这样做了。

同时与数据库对话使您的测试成为集成测试而不是单元测试。

例如,您的单元测试将针对业务层模拟存储库层。

如果您想编写一个集成测试,您也可以针对业务层编写它,但不要模拟存储库层并让它通过。

关于c# - 如何对 IRepository 进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10300280/

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