moq相关内容
为什么实体框架中没有 IDbContext 接口?如果有一个带有 SaveChanges() 等方法的现有接口,您可以从中派生出自定义数据库上下文接口,那么测试不是更容易吗? 公共接口 ICustomDbContext : IDbContext{//将实体集属性添加到 IDbContext 中的现有方法集IDbSetSomeEntities { 得到;}} 解决方案 我看到了这个IDbCon
..
我对 C# 中的单元测试和学习使用 Moq 相当陌生.下面是我要测试的课程. class MyClass{SomeClass someClass;公共 MyClass(SomeClass someClass){this.someClass = someClass;}public void MyMethod(字符串方法){方法=“测试"someClass.DoSomething(方法);}}类 某
..
嗨,当我看到这段代码时,我已经使用 moq 一段时间了. 我必须在我的一个仓库中设置退货. mockIRole.Setup(r => r.GetSomething(It.IsAny(), It.IsAny(),It.IsAny())).Returns(ReturnSomething); 我有三个参数,我只是在网上的一篇文章或博客中看到这些参数. It.Is 或 It.IsAn
..
我有一个包含大约 500 个单元测试的 .NET 库项目.所有这些测试在 Visual Studio 2012 中都运行良好.但是,我的一些测试在 Visual Studio 2010 中失败了.在这些失败的测试中,我使用 Moq 来模拟 Microsoft.Office 中的几种互操作类型.Interop.Excel.尝试访问这些模拟互操作类型时,测试立即失败: 错误:缺少方法“实例类 Mic
..
我想模拟 RestClient 类以进行测试 公共类数据服务:IDataServices{私有只读 IRestClient _restClient;公共数据服务(IRestClient restClient){_restClient = 休息客户端;}公共异步任务GetUserByUserName(字符串用户名){用户 user = null;//创建一个新的请求var restRequest
..
我使用的是 ASP.NET Core 2.2、EF Core 和 MOQ.当我运行测试时,我收到此错误: 消息:System.NotSupportedException:非虚拟(在 VB 中可覆盖)成员上的设置无效:x => x.Movies 我做错了什么? 公共类 MovieRepositoryTest{私有只读 MovieRepository _sut;公共 MovieRepos
..
public ActionResult View(string name){if (TempData["SessionVariable"] != null){文件名 = 名称;返回视图();}别的{return RedirectToAction("index", "Home");}} 测试方法 public void UseCaseView_CorrectRequirements(){var
..
我是 Moq 的新手.我正在模拟 PagingOptions 类.下面是这个类的样子: 公共类 PagingOptions{[Range(1, 99999, ErrorMessage = "偏移量必须大于 0.")]公众号?偏移量{得到;放;}[Range(1, 100, ErrorMessage = "Limit 必须大于 0 且小于 100.")]公众号?限制{得到;放;}公共 Paging
..
从新的 CosmosDb 模拟器我得到了一个存储库来执行基本的 documentdb 操作,这个存储库被注入到其他类中.我想对基本查询进行单元测试. 公共类 DocumentDBRepository其中 T : 班级{//细节省略...公共 IQueryable获取查询(){返回 _client.CreateDocumentQuery(UriFactory.CreateDocumentColle
..
我对单元测试和模拟非常陌生!我正在尝试编写一些单元测试,涵盖与数据存储交互的一些代码.数据访问由IRepository封装: interface IRepository;{....IEnumerableFindBy(Expression>谓词);....} 我尝试使用 IRepository 的具体 IoC 实现来测试的代码如下所示: public class S
..
我需要测试以下方法: CreateOutput(IWriter writer){writer.Write(类型);writer.Write(id);writer.Write(发件人);//更多的Write()s...} 我已经创建了一个 Moq'd IWriter 并且我想确保以正确的顺序调用 Write() 方法. 我有以下测试代码: var mockWriter = new Moc
..
我有几个 ActionMethods 查询 Controller.User 的角色,就像这样 bool isAdmin = User.IsInRole("admin"); 在这种情况下方便地采取行动. 我开始用这样的代码对这些方法进行测试 [测试方法]public void HomeController_Index_Should_Return_Non_Null_ViewPage(){H
..
我被困在我不知道如何模拟的代码点上: ConfigurationManager.AppSettings["User"]; 我必须模拟 ConfigurationManager,但我不知道,我正在使用 起订量. 有人可以给我小费吗?谢谢! 解决方案 我相信一种标准的方法是使用 facade 模式来包装配置管理器,然后你就有了一些松散耦合的东西你可以控制. 因此您将包装 Con
..
这是我的控制器: public class BlogController : 控制器{私人 IDAO_blogDAO;私有只读 ILogger_记录器;公共博客控制器(ILogger logger, IDAO blogDAO){this._blogDAO = blogDAO;this._logger = 记录器;}公共 IActionResult 索引(){var blogs = this._b
..
我正在尝试使用带有多参数函数的 lambda,但是当我尝试调用 mock.Object.Convert(value, null, null, null); 时,Moq 在运行时抛出此异常;行. System.Reflection.TargetParameterCountException:参数计数不匹配 代码是: var mock = new Mock();mock.Setup(conv =
..
目前我有: [测试]public void DrawDrawsAllScreensInTheReverseOrderOfTheStack() {//安排.var screenMockOne = new Mock();var screenMockTwo = new Mock();var screen = new List();屏幕.添加(screenMockOne.Object);屏幕添加(sc
..
我正在做一些单元测试,并使用 Moq 模拟一些属性. 现在,这是一个控制器测试(ASP.NET MVC 3).我的控制器派生自一个抽象控制器,称为AbstractController. 此控制器依赖于 Http 上下文(为了执行诸如主题化、基于 HTTP HOST 标头的特定于域的逻辑等). 这是通过名为 WebSiteSettings 的属性完成的: 公共抽象类 Abstra
..
我正在尝试对包含以下行的代码进行单元测试: UserLoginInfo userIdentity = UserManager.GetLogins(User.Identity.GetUserId()).FirstOrDefault(); 我只是坚持了一点,因为我无法得到: User.Identity.GetUserId() 返回一个值.我一直在我的控制器设置中尝试以下操作: var moc
..
我正在尝试使用模拟的 DbContext 为我的服务创建单元测试.我创建了一个具有以下功能的接口 IDbContext: 公共接口 IDbContext : IDisposable{IDbSetSet() 其中 T:类;DbEntityEntry条目(T实体),其中T:类;int SaveChanges();} 我的真实上下文实现了这个接口IDbContext和DbContext. 现在
..
我正在测试用于进行 Web API 调用的服务的方法.如果我还在本地运行 Web 服务(位于解决方案中的另一个项目中),则使用普通的 HttpClient 可以很好地进行单元测试. 但是,当我签入更改时,构建服务器将无法访问 Web 服务,因此测试将失败. 我通过创建一个 IHttpClient 接口并实现我在应用程序中使用的版本,为我的单元测试设计了一种方法.对于单元测试,我使用模拟
..