It would be helpful to get an actual exception when creating an assertion error message in the Assert.ThrowsException(Async)<T> methods.
var ex = await Assert.ThrowsExceptionAsync<ExpectedException>(
() => DoAsync(),
actualException =>
{
return actualException switch
{
RpcException rpc => $"{rpc.Message}, Trailers: {string.Join(", ", rpc.Trailers)}",
_ => actualException.Message
};
});