标签: c# unit-testing .net-core grpc grpc-dotnet
我有一个dotnet core 3控制台应用程序项目,带有一个生成的gRPC客户端(使用下面的csproj中的Protobuf元素)。我想对我的代码进行单元测试。有没有一种方法可以生成我的gRPC客户端,使其包含所生成类的接口,以便我可以正确地模拟出gRPC客户端?
谢谢您的时间!
<ItemGroup> <Protobuf Include="..\..\Data\Protos\*" GrpcServices="Client" /> </ItemGroup>
答案 0 :(得分:3)
Google的人们决定不包括今后的Interfaces(他们过去常常只提出一点)。
他们引用的主要原因是接口无法保持底层protobuf所需的向后/向前兼容性。如果更改接口,这将破坏构建以及与先前构建的任何兼容性。
您可以详细了解here。
对于测试生成的抽象类,您可以使用Moq之类的Mocking框架进行测试,但听起来您已经很可能知道了。如果没有,那么有一个示例here。