moq相关内容
过去,当我想模拟一个抽象类时,我只是在扩展抽象类的代码中创建一个模拟类,然后在我的单元测试中使用该类... 公共抽象类 MyConverter : IValueConverter{公共抽象对象 Convert(...);公共虚拟对象 ConvertBack(...) { ... }}私有密封类 MockedConverter : MyConverter { ... }[测试方法]public v
..
有必要检查抽象'MyAbstractClass'中'MyMethod'虚方法的实现: 公共抽象MyAbstractClass{公共无效我的方法(){测试通过 = 真;}public abstract int StatusCode{get;internal set;}//**EDIT**:添加了内部setterpublic bool TestPassed{get;private set;}} 我
..
我使用 IHttpClientFactory 创建了一个 HTTP 客户端并附加了一个 Polly 策略(需要 Microsoft.Extensions.Http.Polly),如下所示: 使用 Microsoft.Extensions.Hosting;使用 Microsoft.Extensions.DependencyInjection;IHost 主机 = new HostBuilder()
..
这是我的基础存储库代码块. 公共异步任务ReadAsync(Expression> where = null){return await this.dbSet.Where(where).FirstOrDefaultAsync();} 我收到此错误, EntityFrameworkQueryableExtensions.FirstOrDefaultAsync() 不能用于设置/验证表达式
..
我正在做一个 Net Core 2.0 Rest Api 应用程序. 我正在使用接口 IContactBiz 和类 ContactBiz 的依赖注入. IContactBiz 是这样定义的 公共接口IContactBiz{ReturnModel Add(List lstContactEntity, ContactEntity contact);} 我的 ContactBiz 类
..
在用于单元测试的 .NET Core 中,我使用 Xunit、Moq 和 Autofixture.但即使使用它们,我也看到我的单元测试变得复杂且需要时间. 也许有人可以告诉我是否有任何方法可以使这个测试更小? [事实]公共异步任务 Verify_NotAuthorised_NoServiceSendInvoked(){//安排var fixture = new Fixture().Cust
..
我正在对使用 IMemoryCache 接口的 ClientService 进行单元测试: ClientService.cs: 公共字符串 Foo(){//... 代码_memoryCache.Set("MyKey", "SomeValue", new TimeSpan(0, 0, 60));} 当我尝试模拟 IMemoryCache 的 Set 扩展时: AutoMock mock
..
我正在编写一个简单的测试用例来测试我的控制器在调用我的服务之前调用了缓存.我正在使用 xUnit 和 Moq 来完成这项任务. 我面临一个问题,因为 GetOrCreateAsync 是一种扩展方法,框架无法模拟这些方法.我依靠内部细节来确定我可以模拟 TryGetValue 而不是我的测试(参见 https://github.com/aspnet/Caching/blob/c432e582
..
我正在尝试为 IServiceProvider 创建一个 Mock(使用 Moq),以便我可以测试我的存储库类: 公共类 ApiResourceRepository : IApiResourceRepository{私有只读 IServiceProvider _serviceProvider;公共 ApiResourceRepository(IServiceProvider servicePro
..
我正在尝试使用 Moq 模拟 IMemoryCache.我收到此错误: “System.NotSupportedException"类型的异常发生在Moq.dll 但未在用户代码中处理 附加信息:表达式引用的方法不属于模拟对象:x => x.Get(It.IsAny()) 我的模拟代码: 命名空间 Iag.Services.SupplierApiTests.Mocks{公共静态
..
我使用的是 ASP.NET Core 2.2、EF Core 和 MOQ.正如您在以下代码中看到的那样,我有两个测试,并且同时运行,两个数据库名称均为“MovieListDatabase" 我在其中一个测试中出现错误并显示以下消息: Message: System.ArgumentException : 具有相同键的项目已经已添加.关键:1 如果我分别运行每一个,它们都会通过. 而且,在
..
我正在尝试 Moq 一个具有内部构造函数的具体类,即在 MyAssembly 我有 public class MyClass {内部 MyClass(){}//其他方法包括工厂实例方法} 然后在我的“TestAssembly"测试中 var mock = new Mock(); 在 MyAssembly 中,我将以下内容添加到 AssemblyInfo.cs [程序集:Internals
..
我有一个方法使用HostingEnvironment.QueueBackgroundWorkItem 我希望在此调用之前对某些行为进行单元测试,但是,测试失败并显示 System.InvalidOperationException :由于对象的当前状态,操作无效. 我怀疑我需要模拟 HostingEnvironment 但不知道如何操作. 解决方案 为了解决这个问题我定义了一个接口
..
我正在尝试模拟此方法 TaskGetResultAsync(FunctransformFunc) 喜欢这个 iMock.Setup(m => m.GetResultAsync(It.IsAny>())).ReturnsAsync(new { isPair = false }); 测试调用将匿名类型传递给泛型参数的方法,如下所示 instance.GetResultAsync(u => n
..
这是从azure文件存储中读取文件并处理数据的代码.我正在使用最新的文件存储 nuget 包. CloudStorageAccount storageAccount = CloudStorageAccount.Parse("FileStorageConnectionString");CloudFileClient fileClient = storageAccount.CreateCloudFi
..
我正在使用 Moq 库进行单元测试.现在我想要的是,当我第一次访问我的对象时,它应该返回 null,当我第二次访问它时,它应该返回其他内容. 这是我的代码 var mock = new Mock();mock.Setup(?????);mock.Setup(?????);var actual = target.Method(mock.object); 在我的方法中,我首先检查模拟对象是否
..
对于像这样的方法: protected virtual bool DoSomething(string str) { } 我通常会嘲笑它: var mockModule = new Mock{ CallBase = true };mockModule.Protected().Setup("DoSomething", ItExpr.IsAny()).Returns(true); 但是对于像这
..
我的控制器中有一个方法可以将当前执行程序集中的属性数据返回到局部视图中. 在这个例子中,我只是拉取标题,但我需要做更多的事情. 控制器: var title = "";var asm = Assembly.GetExecutingAssembly();var attrs = asm.GetCustomAttributes(typeof(AssemblyTitleAttribute)
..
如果我有一个具有通过属性注入解析的依赖项的类,是否可以使用 Moq 模拟该属性的行为? 例如 公共类 SomeClass{//空构造函数公共 SomeClass() {}//依赖公共 IUsefuleService 服务 {get;set;}public bool IsThisPossible(Object someObject){//做一些事情//我想模拟Service和GetSome
..
我有以下课程,我正在尝试测试 AddRecordToQueue 方法. 我正在使用 Moq 来模拟 AddRecordToQueue 方法中的 AddToQueue 方法的结果. AddToQueue 方法返回一个布尔值,所以我试图用真值模拟结果 公共类测试{私有只读 IRabbitMqConnection rabbitMqConnection;公共测试(IRabbitMqConne
..