首页 > TAG信息列表 > moq

试神器Autofixture与Moq结合在几个复杂场景下的使用示例

.net测试篇之测试神器Autofixture在几个复杂场景下的使用示例以及与Moq结合 系列目录 为String指定一个值. 在第三节里我们讲了如何使用自定义配置加上一个自定义算法生成一个自定义字符串,然而有些时候我们仅仅是需要某个字段是有意义的,这个时候随便生成的字符串也满足不了我

Moq mock 方法返回null空指针异常

在使用moq mock方法时如果直接返回null,在方法被调用时会抛出空指针异常 var repository = new Mock<IRepository>(); var someObject = null; repository.Setup(p => p.GetByIdAsync(It.IsAny<string>()).Result) .Returns(someObject); var someObje

Mock 框架 Moq 的使用

Moq 是 .NET 中一个很流行的 Mock 框架,使用 Mock 框架我们可以只针对我们关注的代码进行测试,对于依赖项使用 Mock 对象配置预期的依赖服务的行为。 Moq 是基于 Castle 的动态代理来实现的,基于动态代理技术动态生成满足指定行为的类型 在一个项目里, 我们经常需要把某一部分程

嘲笑一个CloudBlockBlob,并使其返回流

我正在尝试对Azure CloudBlockBlob进行Moq并让其返回流,以便可以测试BlobStorage存储库是否正确处理了输出. 但是以某种方式返回的流始终为空. 单元测试代码: .... var stream = new MemoryStream(); var writer = new StreamWriter(stream); writ

c#-Moq usermanager缺少IUserEmailStore

我正在测试. 这是一个登录到联合网关的身份服务器项目.我无法控制此网关,并且遇到问题,他们没有向我退回我需要验证用户登录名的正确声明.我希望能够测试我可以处理这些错误. 例如,如果没有电子邮件声明,我将无法登录用户. 我创建了一个测试,用于测试缺少电子邮件声明的返回错误.(

基于Moq的单元测试中的TargetParameterCountException

我们的存储库具有“保存”方法.每当保存实体时,它们还会引发“已创建”事件. 我们一直在尝试使用Moq来模拟存储库. var IRepository = new Mock<IRepository>(); Request request = new Request(); IRepository.Setup(a => a.Save(request)).Raises(a => a.Created += null, Reque

可以模拟数据库事务参数吗?

我正在尝试对接口的实现进行单元测试,并且在将SqlTransaction参数成功模拟到接口方法之一方面遇到了一些困难. 这是我感兴趣的接口和被测方法的样子. public class MyInterface { void MyMethod(SqlTransaction SharedTransaction, DateTime EventTime); } public class MyI

CodeGo.net>如何与Moq存根抽象集合?

假设我有这个课程: public abstract class CustomerCollectionBase : Collection<Customer>{} 我正在测试的类之一接受CustomerCollectionBase实例(它将是某些子类).在被测方法中,此集合通过for循环枚举,并对结果进行检查和处理. 如下所示: for (int i=0;i<_customers.Count; i++)

c#-带有lambda表达式的最小起订量?

我正在尝试使用Moq 4.0.10827(在NuGet上)测试应用程序服务,并且需要查询存储库: public class MyService { Repository<MyObject> _Repo; public MyObject Get (string SomeConstraint) { return _Repo .GetTheFirstOneOrReturnNull (M => M.Cons

C#-测试闭包

我有一个非常简单的方法要测试. _interactionService会弹出一个对话框,询问用户有关删除客户的确认.如果在框中单击相应的按钮,则会调用提供的操作.该操作可操纵上下文并保存更改.保存完成后,将调用另一个操作. private void Delete(object entity) { _interactionService

Moq实体框架ExecuteSQLCommand

我已经读过,使用最小起订量时不能模拟非虚函数.我也读过,现在应该有可能了.是真的吗?如果是这样,那么我想模拟以下查询: DatabaseContext.Database.ExecuteSqlCommand(updateQuery, newValue); 我在测试中覆盖了上下文 DAL.Context.DatabaseContext = mockContext.Object; 我已经

Moq是否在嘲笑子接口的返回值并忽略中间步骤的错误或功能?

我最近正在构建一个应用程序,而一位同事写了一个我发誓会失败的设置.我错了.在该方法中,工厂方法设置为期望值为true,并且将返回整数.因为我们没有嘲笑我们的配置,所以布尔总是错误的. 设置是: var homeStoreDataServiceFactory = new Mock<IHomeStoreDataServiceFactory>(); hom

我可以重用它吗?Moq中的任何参数描述符

我有一些类似于 FooMock.Setup( m => m.Bar( It.Is<BarArg>( x => long_test_x_is_ok(x) ) ); 天真的,我认为我可以将其重写为: var barArg = It.Is<BarArg>( x => long_test_x_is_ok(x) ); FooMock.Setup( m => m.Bar( barArg ) ); 但是起订量不爱我.有可能这样做吗? 同样,我们

c#-用MOQ模拟异步获取方法

我如何摆脱此错误消息: Error 5 Cannot implicitly convert type 'System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<TGB.Business.DTO.SchoolyearDTO>>' to 'System.Collections.Generic.IEnumerable<TGB.Business.DTO.Schooly

c#-用Moq测试接受委托的方法

我的代码正在使用实现这样的接口的组件 public interface IFoo { void DoSomething(string p1); void DoSomething(string p1, Action<string> p2); } 到目前为止,我正在使用第一种方法,但是我计划移至第二种方法,并且我希望保持尽可能高的覆盖率. 只是我真的不知道如

C#-单元测试-更新模型

我是单元测试的新手,我试图编写一个测试来验证在更新用户对象时是否正在更新正确的字段.我的单元测试如下: [Test] public void ShouldUpdateExistingEmployee() { var employees = new Employee[] { new Employee() { EmployeeId = 1,

c#-Moq工作单元

我是单元测试的新手,我想为我的搜索功能创建一个测试.我的服务层看起来像: public class EmployeeService: BaseService, IEmployeeService { public EmployeeService(IUnitOfWork unitOfWork) : base(unitOfWork) { _employeeRepo = unitOfWork.EmployeeRepositor

验证EF6与SaveChanges上发生的验证

我找到了不错的文章,让我开始使用Moq:https://msdn.microsoft.com/en-us/data/dn314429.aspx对基于Entity Framework的应用程序进行单元测试 我遇到的问题是,Mock的SaveChanges方法似乎没有像通常那样触发ValidateEntity方法.我在EntityTypeConfiguration中配置的所有验证设置都没有

c#-如果使用设置,Moq模拟调用将返回null

我正在使用Moq为C#应用程序编写测试.我的测试初始化​​程序具有以下代码: UnityContainer unityContainer = new UnityContainer(); _serviceMock = new Mock<IService>(); _serviceMock.Setup(mock => mock.GetSearchInfoAsync(It.IsAny<CancellationToken>(), It.IsAny<IEnumer

c#-Moq的存根工作单元方法未返回预期的整数

我有一个使用Asp.Net Core创建的项目,但是我对控制器动作的一部分进行单元测试时遇到问题,我使用xUnit.net(2.2.0-beta2-build3300)进行测试,使用Moq(4.6.25-alpha)进行模拟,并使用FluentAssertions(4.13.0)和GenFu(1.1.1)来帮助我进行测试,工作单元类(请注意,我将其缩减为与我的问

c#-使用Moq模拟对MySQL数据库的插入查询

我目前正在尝试学习使用Moq进行模拟,并且想在现有的数据库中进行尝试,但是我不确定如何正确地实现这一目标. 在我的数据层中,我有一个处理连接到DB的类,并具有用于插入,选择等的各种方法.我想测试一个actor是否已正确插入到数据库中. 我的插入方法当前如下所示: public void Insert

c#-Moq具体的类方法调用

我有一个这样的设置,带有一个具体的类,该类在要测试的方法中实例化.我想模拟这个具体的类,不要让它执行内部代码.因此,不应引发任何异常: public class Executor { public bool ExecuteAction(ActionRequest request) { switch (request.ActionType) {

C#-模拟实体DbContext插入

我正在使用Xunit&起订量我希望能够模拟插入到表中.这样,记录实际上不会填充表,但是单元测试可以验证插入是否成功.使用真实的DbContext,单元测试适用于下面的方法Add_Works().当我尝试在Add_WantToWork()中模拟时,出现错误“对象引用未设置为对象的实例”.该失败发生在ARepository

HttpResponse模拟WriteAsync

我试图在模拟HttpResponse上模拟对WriteAsync的调用,但我不知道要使用的语法. var responseMock = new Mock<HttpResponse>(); responseMock.Setup(x => x.WriteAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())); ctx.Setup(x => x.Response).Returns(responseMo

Lambda函数导致编译器错误具有0个参数,异常具有1个或多个

我在带有Moq的C#.NET CORE环境中使用lambda函数.更具体地说,我在类似这样的设置方法中使用它: MockObject.Setup(o => o.GetList()).Returns<List<DifferentClass>>(() => Task.FromExisting(existingList)); 问题出在.Returns()调用中.如果我使用空的Lambda,则会收到以下编译器错