mocking 相关问题

模拟和伪造是隔离代码或组件的方法,以确保单元测试仅针对可测试的代码单元运行,而不实际使用应用程序的其他组件或依赖项。 Mocking与伪造的不同之处在于可以检查模拟以断言测试结果。

Jest 模拟 React 组件

我正在使用一个插件,它使用 json 模式呈现表单。对于输入、按钮等元素,它使用结构中的 React 组件来渲染组件。在我们的应用程序中,我们收到

回答 2 投票 0

对后台包含多个连续任务的类进行单元测试

我想对包含多个连续任务的 WpaConnection 类进行单元测试。这些任务的启动依赖于 TCP 连接。我想收集一些关于什么的信息...

回答 1 投票 0

如何使用 Mockito 和 TestNG 模拟在方法内创建的对象[重复]

我正在尝试为 MyClass 中的方法编写单元测试,该方法创建 DependentClass 的实例并调用其方法 dependentMethod。在我的测试中,我想重写 dependentM 的行为...

回答 1 投票 0

Wiremock 对同一请求使用不同状态代码随机响应

我正在使用wiremock,对于相同的路径和方法我有几个响应,get /one。我想随机响应不同的状态代码。我知道我可以使用

回答 1 投票 0

MockMvc 测试始终返回 200,无论 JWT 权限如何

@测试 公共无效testGetOrders()抛出异常{ mockMvc.perform(get("/admin/api/orders/") .with(jwt().authorities(new SimpleGrantedAuthority("...

回答 1 投票 0

如何在azure pipelines(Linux代理)中启动服务器?

我的问题具体是,我无法在一个步骤中可靠地启动模拟服务器并使其在以下步骤中保持活动状态。服务器关闭或该步骤永远不会完成。 上下文:对于 c...

回答 1 投票 0

Mockito - verify 方法有什么作用?

假设我有以下类似测试代码的伪代码: //我们静态导入Mockito,这样代码看起来更清晰 导入静态 org.mockito.Mockito.*; //模拟创建 列表模拟列表 = ...

回答 3 投票 0

在 Mockito 中模拟使用强制转换的对象

我正在开发一个Java项目,我需要使用testng为一个具有类似于以下方法的类编写单元测试: 公共布尔 isValidCode(字符串代码) { GenericService 服务...

回答 1 投票 0

为什么 Mockito “何时”在非模拟对象上工作?

我最近看到一些 Mockito 1.9.5 代码,其工作原理如下: MyObject myObject = new MyObject(); ... Mockito.when(myObject.someMethod()).thenReturn("bogus"); 由于 myObject 不是模拟对象,...

回答 1 投票 0

用玩笑模拟nodemailer.createTransport.sendMail

我有一些使用nodemailer模块的代码。 在路由器(router.js)中,我有 const Transporter = nodeMailer.createTransport(emailArgs); 然后在路线(/登录)内我有: ... 返回

回答 6 投票 0

验证模拟属性的方法是否以部分字符串作为参数调用

我正在使用 MoQ 和 C# 来模拟公共属性,我想知道模拟的方法之一是否是使用以特定字符集开头的任何字符串调用的。 例如,虽然我知道

回答 5 投票 0

pytest - 测试期间假时间变化

我有以下代码在测试期间设置假时间。 我想在测试期间更改时间。 也就是说,测试应该从 9:00 开始,然后像 10:00 一样继续。 来自

回答 1 投票 0

模拟修补端点单元测试,向第三方发出多个请求

我有一个使用 django ninja 编写的单一端点。该端点执行一个执行多个请求的爬网程序。请求序列有 3 种不同的例程,具体取决于

回答 1 投票 0

C# XUnit (.Net 8):要测试的端点中的 IFormFile 参数始终接收为 null

我需要 XUnit 测试下一个端点: /// /// 停止csv文件中的所有账户 /// /// /// 我需要 XUnit 测试下一个端点: /// <summary> /// Cease all account in csv file /// </summary> /// <param name="dispatcher"></param> /// <param name="csvFile">CSV file with format (Id,Name,SID,CeaseDate,Note)</param> /// <param name="ct"></param> /// <returns></returns> [HttpPost("cease/bulk")] [Authorize(Roles = VdcSecurity.Role.ManagementAdmin)] [AllowAnonymous] public async Task<ActionResult<bool>> CeaseBulkAccountAsync( [FromServices][IsSensitive] ICommandDispatcher dispatcher, [FromForm] IFormFile csvFile, [IsSensitive] CancellationToken ct = default ) { var identity = Vdc.Libs.AspNet.Controller.HttpContextExtensions.GetIdentity(HttpContext); var ipAddress = HttpContext.GetIpAddress(); var command = new CeaseBulkCommand(identity, HttpContext.TraceIdentifier) { Stream = csvFile.OpenReadStream(), IpAddress = ipAddress }; var result = await dispatcher.DispatchAsync(_provider, command, ct); return result.ToActionResult(this); } 我的问题是无论我如何创建 IFormFile 对象,它总是被接收为 null。 这是我的尝试之一: const string filePath = "CeaseBulkAccount.csv"; using (var httpClient = ApiClient.HttpClient) { var form = new MultipartFormDataContent(); byte[] fileData = File.ReadAllBytes(filePath); ByteArrayContent byteContent = new ByteArrayContent(fileData); byteContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data"); form.Add(byteContent, "file", Path.GetFileName(filePath)); var result = await httpClient.PostAsync("/api/accounts/cease/bulk", form); } 我到达控制器,但收到的 csvFile 为空。 ApiClient.HttpClient 是我们自己的客户端,但我不介意使用通用客户端。 我不得不说我们的 httpClient“PostAsync”收到了 HttpContent。 第二次尝试: var httpClient = ApiClient.HttpClient; var fileContent = new ByteArrayContent(ReadFully(file)); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "CeaseBulkAccount.csv" }; var response = await httpClient.PostAsync("/api/accounts/cease/bulk", fileContent, ct); public static byte[] ReadFully(Stream input) { byte[] buffer = new byte[16 * 1024]; using (MemoryStream ms = new MemoryStream()) { int read; while ((read = input.Read(buffer, 0, buffer.Length)) > 0) { ms.Write(buffer, 0, read); } return ms.ToArray(); } } 再次,csvFile 为空。 我们的 PostAsync: // // Summary: // Send a POST request with a cancellation token as an asynchronous operation. // // Parameters: // requestUri: // The Uri the request is sent to. // // content: // The HTTP request content sent to the server. // // cancellationToken: // A cancellation token that can be used by other objects or threads to receive // notice of cancellation. // // Returns: // The task object representing the asynchronous operation. // // Exceptions: // T:System.InvalidOperationException: // The requestUri must be an absolute URI or System.Net.Http.HttpClient.BaseAddress // must be set. // // T:System.Net.Http.HttpRequestException: // The request failed due to an underlying issue such as network connectivity, DNS // failure, server certificate validation or timeout. // // T:System.Threading.Tasks.TaskCanceledException: // .NET Core and .NET 5 and later only: The request failed due to timeout. // // T:System.UriFormatException: // The provided request URI is not valid relative or absolute URI. public Task<HttpResponseMessage> PostAsync([StringSyntax("Uri")] string? requestUri, HttpContent? content, CancellationToken cancellationToken); 传递给form.Add的名称必须与控制器的action方法中的名称匹配; [FromForm] IFormFile csvFile。 因为那个是csvFile,所以你必须添加如下文件。 form.Add(byteContent, "csvFile", Path.GetFileName(filePath)); 通过上述更改,您的第一次尝试效果很好。

回答 1 投票 0

使用 pytest 和 Monkeypatching 进行 Celery 集成测试

我正在尝试在 docker 上使用 Python 3.9.5、Celery 5.2.6、pytest 7.1.0 和 FastAPI 运行一些简单的集成测试。 项目结构: 📦 ┣ 📂应用程序 ┣ ┣ 📂API ┣ ┣ ┣ 📂路线 ┣ ┣ ┣ ┗ 📜芹菜...

回答 1 投票 0

模拟响应中的标头

我看过这个问题的评论,但他们似乎没有具体告诉我我需要什么。 我正在修改此测试,以前只需处理单个标头: 间谍ApiResol...

回答 1 投票 0

Spring 6.1 RestClient JUnit 模拟测试

我有一个 Spring 6.1 RestClient: @服务 @RequiredArgsConstructor 公共类 ProductServiceClient { @Value("${spring.client.product.url}") 私有最终字符串baseUrl; 私人...

回答 1 投票 0

如何使用 Assertj 的 usingRecursiveComparison 的等效项来验证方法调用

在测试中,为了验证没有 hashcode/equals 方法的数据对象,Assertj 有一个非常好的 API: 断言.assertThat(结果) .usingRecursiveComparison() .ignoringFields("id&qu...

回答 1 投票 0

使用 PHPUnit 进行 Laravel 模型模拟测试

我正在尝试模拟 PHPUnit 中的更新方法,但到目前为止,shouldReceive('update') 尚未被调用。 PostServiceTest.php 公共函数 test_can_update_a_post(): void { $mockedPostMod...

回答 1 投票 0

最小起订量设置使用构造函数参数获取 dbContext

情况 我在这里尝试使用 MOQ 为我的 GroupService 编写一些单元测试。 为了创建 GroupService 的实例,我模拟了 4 个需要通过

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.