修改文档

This commit is contained in:
hello 2024-07-09 22:59:49 +08:00
parent bbb97fca23
commit dc20c35f21

View File

@ -60,3 +60,75 @@ message HelloReply {
string message = 1; string message = 1;
} }
``` ```
## 单元测试 gRPC 服务
```shell
dotnet add package moq
```
```csharp
public class GreeterServiceTests
{
[Fact]
public async Task SayHello_ReturnsHello()
{
// Arrange
var mockLogger = new Mock<ILogger<GreeterService>>();
var service = new GreeterService(mockLogger.Object);
var request = new HelloRequest { Name = "Unit Test" };
var context = new ServerCallContext();
// Act
var reply = await service.SayHello(request, context);
// Assert
Assert.Equal("Hello Unit Test", reply.Message);
}
}
```
## 集成测试 gRPC 服务
```shell
dotnet add package Microsoft.AspNetCore.TestHost
```
```csharp
public class GreeterServiceIntegrationTests
{
private readonly TestServer _server;
private readonly Greeter.GreeterClient _client;
public GreeterServiceIntegrationTests()
{
_server = new TestServer(new WebHostBuilder()
.ConfigureServices(services =>
{
services.AddGrpc();
})
.Configure(app =>
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGrpcService<GreeterService>();
});
}));
_client = new Greeter.GreeterClient(_server.CreateGrpcChannel());
}
[Fact]
public async Task SayHello_ReturnsHello()
{
// Arrange
var request = new HelloRequest { Name = "Integration Test" };
// Act
var reply = await _client.SayHelloAsync(request);
// Assert
Assert.Equal("Hello Integration Test", reply.Message);
}
}
```