moq相关内容

为什么 DbContext 没有实现 IDbContext 接口?

为什么实体框架中没有 IDbContext 接口?如果有一个带有 SaveChanges() 等方法的现有接口,您可以从中派生出自定义数据库上下文接口,那么测试不是更容易吗? 公共接口 ICustomDbContext : IDbContext{//将实体集属性添加到 IDbContext 中的现有方法集IDbSetSomeEntities { 得到;}} 解决方案 我看到了这个IDbCon ..
发布时间:2021-12-15 12:20:18 其他开发

使用 Moq 验证方法调用

我对 C# 中的单元测试和学习使用 Moq 相当陌生.下面是我要测试的课程. class MyClass{SomeClass someClass;公共 MyClass(SomeClass someClass){this.someClass = someClass;}public void MyMethod(字符串方法){方法=“测试"someClass.DoSomething(方法);}}类 某 ..
发布时间:2021-12-15 12:16:35 C#/.NET

起订量和互操作类型:在 VS2012 中有效,在 VS2010 中失败?

我有一个包含大约 500 个单元测试的 .NET 库项目.所有这些测试在 Visual Studio 2012 中都运行良好.但是,我的一些测试在 Visual Studio 2010 中失败了.在这些失败的测试中,我使用 Moq 来模拟 Microsoft.Office 中的几种互操作类型.Interop.Excel.尝试访问这些模拟互操作类型时,测试立即失败: 错误:缺少方法“实例类 Mic ..
发布时间:2021-12-14 19:17:32 C#/.NET

Moq - 不可覆盖的成员不能用于设置/验证表达式

我是 Moq 的新手.我正在模拟 PagingOptions 类.下面是这个类的样子: 公共类 PagingOptions{[Range(1, 99999, ErrorMessage = "偏移量必须大于 0.")]公众号?偏移量{得到;放;}[Range(1, 100, ErrorMessage = "Limit 必须大于 0 且小于 100.")]公众号?限制{得到;放;}公共 Paging ..
发布时间:2021-12-09 19:34:08 C#/.NET

Moq'ing 方法,其中 Expression<Func<T,bool>>作为参数传入

我对单元测试和模拟非常陌生!我正在尝试编写一些单元测试,涵盖与数据存储交互的一些代码.数据访问由IRepository封装: interface IRepository;{....IEnumerableFindBy(Expression>谓词);....} 我尝试使用 IRepository 的具体 IoC 实现来测试的代码如下所示: public class S ..
发布时间:2021-12-09 19:26:13 C#/.NET

使用 Moq 验证调用的顺序是否正确

我需要测试以下方法: CreateOutput(IWriter writer){writer.Write(类型);writer.Write(id);writer.Write(发件人);//更多的Write()s...} 我已经创建了一个 Moq'd IWriter 并且我想确保以正确的顺序调用 Write() 方法. 我有以下测试代码: var mockWriter = new Moc ..
发布时间:2021-12-09 19:18:06 C#/.NET

如何使用 moq 模拟 ConfigurationManager.AppSettings

我被困在我不知道如何模拟的代码点上: ConfigurationManager.AppSettings["User"]; 我必须模拟 ConfigurationManager,但我不知道,我正在使用 起订量. 有人可以给我小费吗?谢谢! 解决方案 我相信一种标准的方法是使用 facade 模式来包装配置管理器,然后你就有了一些松散耦合的东西你可以控制. 因此您将包装 Con ..
发布时间:2021-12-09 19:14:49 C#/.NET

如何使用 Moq 测试方法调用顺序

目前我有: [测试]public void DrawDrawsAllScreensInTheReverseOrderOfTheStack() {//安排.var screenMockOne = new Mock();var screenMockTwo = new Mock();var screen = new List();屏幕.添加(screenMockOne.Object);屏幕添加(sc ..
发布时间:2021-12-09 19:09:24 C#/.NET

为什么我要模拟的属性需要是虚拟的?

我正在做一些单元测试,并使用 Moq 模拟一些属性. 现在,这是一个控制器测试(ASP.NET MVC 3).我的控制器派生自一个抽象控制器,称为AbstractController. 此控制器依赖于 Http 上下文(为了执行诸如主题化、基于 HTTP HOST 标头的特定于域的逻辑等). 这是通过名为 WebSiteSettings 的属性完成的: 公共抽象类 Abstra ..
发布时间:2021-12-09 19:08:02 C#/.NET

我如何模拟 User.Identity.GetUserId()?

我正在尝试对包含以下行的代码进行单元测试: UserLoginInfo userIdentity = UserManager.GetLogins(User.Identity.GetUserId()).FirstOrDefault(); 我只是坚持了一点,因为我无法得到: User.Identity.GetUserId() 返回一个值.我一直在我的控制器设置中尝试以下操作: var moc ..
发布时间:2021-12-09 19:07:37 C#/.NET

使用 Moq 模拟 EF DbContext

我正在尝试使用模拟的 DbContext 为我的服务创建单元测试.我创建了一个具有以下功能的接口 IDbContext: 公共接口 IDbContext : IDisposable{IDbSetSet() 其中 T:类;DbEntityEntry条目(T实体),其中T:类;int SaveChanges();} 我的真实上下文实现了这个接口IDbContext和DbContext. 现在 ..
发布时间:2021-12-09 19:04:32 C#/.NET

使用 Moq 模拟单元测试的异步方法

我正在测试用于进行 Web API 调用的服务的方法.如果我还在本地运行 Web 服务(位于解决方案中的另一个项目中),则使用普通的 HttpClient 可以很好地进行单元测试. 但是,当我签入更改时,构建服务器将无法访问 Web 服务,因此测试将失败. 我通过创建一个 IHttpClient 接口并实现我在应用程序中使用的版本,为我的单元测试设计了一种方法.对于单元测试,我使用模拟 ..
发布时间:2021-12-09 19:02:16 C#/.NET