moq相关内容
考虑 .NET 程序集中的一个方法: 公共静态字符串 GetSecurityContextUserName(){//从请求中提取用户名字符串 sUser = HttpContext.Current.User.Identity.Name;//域之后的所有内容sUser = sUser.Substring(sUser.IndexOf("\\") + 1).ToLower();返回用户;} 我想从使
..
据我所知,如果我调用更高级别的方法,我可以测试是否会发生方法调用,即: 公共抽象类 SomeClass(){public void SomeMehod(){SomeOtherMethod();}内部抽象 void SomeOtherMethod();} 我想测试一下,如果我调用 SomeMethod() 那么我希望 SomeOtherMethod() 会被调用. 我认为在模拟框架中可以使
..
我有一个集成测试,可以从 3rd 方服务器获取一些 json 结果.这真的很简单,而且效果很好. 我希望停止实际攻击此服务器并使用 Moq(或任何 Mocking 库,如 ninject 等)来劫持并强制返回结果. 这可能吗? 这是一些示例代码:- public Foo GoGetSomeJsonForMePleaseKThxBai(){//准备东西...//现在请获取 jso
..
我正在使用 shanselmann 的 MvcMockHelper 类来模拟一些使用 Moq 的 HttpContext 内容,但是我遇到的问题是能够在我的 MVC 控制器中为我的模拟会话对象分配一些东西,然后能够在我的单元测试中读取相同的值以进行验证. 我的问题是如何将存储集合分配给模拟的会话对象,以允许诸如 session["UserName"] = "foo" 之类的代码保留“foo"
..
我刚开始使用 moq.我正在为 HttpModule 创建一些单元测试用例,一切正常,直到我点击 static 属性,如下 this.applicationPath = (HttpRuntime.AppDomainAppVirtualPath.Length > 1) ?HttpRuntime.AppDomainAppVirtualPath : String.Empty; 我不知道如何为 sta
..
我有一个单元测试,我必须模拟一个返回 bool 类型的非虚拟方法 公共类 XmlCupboardAccess{public bool IsDataEntityInXmlCupboard(string dataId,输出字符串名称InCupboard,输出字符串 refTypeInCupboard,字符串名称模板 = null){返回 IsDataEntityInXmlCupboard(_theD
..
我有一个接口声明 Task DoSomethingAsync(); 我使用 MoqFramework 进行测试: [TestMethod()]公共异步任务 MyAsyncTest(){模拟mock = new Mock();mock.Setup(arg => arg.DoSomethingAsync()).Callback(() => { });...} 然后在我的测试中,我执行调用 a
..
我最近一直在进行单元测试,并且使用 MOQ 框架和 MS 测试成功地模拟了各种场景.我知道我们不能测试私有方法,但我想知道我们是否可以使用 MOQ 模拟静态方法. 解决方案 Moq(和其他 基于 DynamicProxy 的模拟框架)无法模拟任何非虚拟或抽象方法. 密封/静态类/方法只能使用基于 Profiler API 的工具来伪造,例如 Typemock(商业)或 Microso
..
我正在尝试为调用异步存储库的类创建单元测试.我正在使用 ASP.NET Core 和 Entity Framework Core.我的通用存储库看起来像这样. 公共类EntityRepository: IEntityRepository其中 TEntity : 类{私有只读 SaasDispatcherDbContext _dbContext;私有只读 DbSet_dbSet;公共实体存储库(S
..
我在尝试包装用于单元测试的代码时遇到了一些问题.问题是这样的.我有接口 IHttpHandler: 公共接口IHttpHandler{HttpClient 客户端 { 获取;}} 以及使用它的类,HttpHandler: 公共类 HttpHandler : IHttpHandler{公共 HttpClient 客户端{得到{返回新的 HttpClient();}}} 然后是Connecti
..
我有一个预先存在的界面... 公共接口 ISomeInterface{void SomeMethod();} 我已经使用 mixin 扩展了这个接口... public static class SomeInterfaceExtensions{public static void AnotherMethod(this ISomeInterface someInterface){//这里实现}
..
因此控制器上下文取决于一些 asp.net 内部结构.有哪些方法可以为单元测试干净地模拟这些?当我只需要例如 Request.HttpMethod 返回“GET"时,似乎很容易用大量设置阻塞测试. 我在网上看到了一些例子/帮助者,但有些已经过时了.认为这是一个保存最新和最好的好地方. 我正在使用最新版本的犀牛模拟 解决方案 使用 MoQ 看起来像这样: var request
..
我有一个使用 ASP.Net MVC 框架的 C# 控制器 公共类 HomeController:Controller{公共 ActionResult 索引(){如果 (Request.IsAjaxRequest()){//做一些ajaxy的东西}返回视图(“索引");}} 我得到了一些关于模拟的技巧,并希望使用以下和 RhinoMocks 测试代码 var mocks = new Mock
..
[测试方法]public void Home_Message_Display_Unknown_User_when_coockie_does_not_exist(){var context = new Mock();var request = new Mock();语境.Setup(c => c.Request).Returns(request.Object);HomeController 控制器
..
我是 C# 新手,正在尝试了解 .NET-4. 为了填写一些详细信息,我目前正在尝试更新 AutofacContrib.Moq 以使用最新的 Moq.对于 .NET-3.5 及以下版本,我没有问题.但是在 .NET-4 中,安全限制导致了许多安全异常. Moq 有一个方法,GetObjectData,用 SecurityCritical 属性.AutofacContrib.Moq 具有
..
我有一种使用 IHttpContextAccessor 获取标头值的方法 公共类 HeaderConfiguration : IHeaderConfiguration{公共头配置(){}公共字符串 GetTenantId(IHttpContextAccessor httpContextAccessor){返回 httpContextAccessor.HttpContext.Request.He
..
我正在 ASP.NET Core 中构建一个 Web API,我想对控制器进行单元测试. 我为数据访问注入了一个接口,我可以轻松地模拟它.但是控制器必须检查请求中的标头以获取令牌,而当我自己简单地实例化控制器时,该请求似乎并不存在,而且它也是 get-only,所以我什至无法手动设置它.我找到了很多模拟 ApiController 的示例,但这不是 .NET 核心.还有许多关于如何对 .ne
..
.NET Core 2.1 附带了这个名为 HttpClientFactory 的新工厂,但我不知道如何模拟它以对一些包括 REST 服务调用的方法进行单元测试. 工厂正在使用 .NET Core IoC 容器注入,该方法的作用是从工厂创建一个新客户端: var client = _httpClientFactory.CreateClient(); 然后使用客户端从 REST 服务中获取
..
过去,当我想模拟一个抽象类时,我只是在扩展抽象类的代码中创建一个模拟类,然后在我的单元测试中使用该类... 公共抽象类 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;}} 我
..