如何使用moq和nunit对grpc方法进行单元测试?

时间:2018-11-02 16:06:50

标签: c# unit-testing nunit moq grpc

我正在尝试测试将身份验证请求发送到服务器的grpc客户端代码。

在该类的构造函数中,我有:

 Channel channel = new Channel(adr, ChannelCredentials.Insecure);
 client = new MessageService.MessageServiceClient(channel);

而我要测试的类中的方法是:

public void LogIn(String username, String pass)
        {
            try
            {
                String encryptedPass = StringEncrypt.Encrypt(pass, cPP, cSA, "SHA1", 2, cIV, 128);
                Response res = client.LogIn(NewAuthRequest(username, encryptedPass));
                if (res.Authenticated)
                {
                    loggedIn = true;
                    user.UserId_ = username;
                    sess.Sessionid = res.Sessionid;
                    sess.Userid = username;
                }

                Console.WriteLine("Login request response: " + res.Authenticated);
            }
            catch (RpcException e)
            {
                Console.WriteLine("RPC failed " + e);
                throw;
            }
        }

登录,用户和会话是类变量。

我继续学习如何测试void方法,因此我想在单元测试中运行此方法,并断言在该方法运行之后,是否已按应有的方式更改了login,user和sess的值。但是我对如何创建最小起订量感到困惑。 StringEncrypt是一个静态类,并且使用grpc生成的文件之一创建客户端。而且我记得在某个地方读过,您只能创建抽象类/接口的最小起订量...那么如何为它们创建最小起订量?

谢谢!

0 个答案:

没有答案