修改文档
This commit is contained in:
parent
bbb97fca23
commit
dc20c35f21
@ -59,4 +59,76 @@ message HelloReply {
|
|||||||
// Hello reply message.
|
// Hello reply message.
|
||||||
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
```
|
```
|
Loading…
Reference in New Issue
Block a user