@Test
    public void buildSerializeError() {
        RpcInternalContext old = RpcInternalContext.peekContext();
        try {
            RpcInternalContext.removeContext();
            SofaRpcException exception = serializer.buildSerializeError("xx");
            Assert.assertEquals(RpcErrorType.UNKNOWN, exception.getErrorType());

            RpcInternalContext.getContext().setProviderSide(true);
            exception = serializer.buildSerializeError("xx");
            Assert.assertEquals(RpcErrorType.SERVER_SERIALIZE, exception.getErrorType());

            RpcInternalContext.getContext().setProviderSide(false);
            exception = serializer.buildSerializeError("xx");
            Assert.assertEquals(RpcErrorType.CLIENT_SERIALIZE, exception.getErrorType());

            RpcInternalContext.removeContext();
            exception = serializer.buildSerializeError("xx", new RuntimeException());
            Assert.assertEquals(RpcErrorType.UNKNOWN, exception.getErrorType());

            RpcInternalContext.getContext().setProviderSide(true);
            exception = serializer.buildSerializeError("xx", new RuntimeException());
            Assert.assertEquals(RpcErrorType.SERVER_SERIALIZE, exception.getErrorType());

            RpcInternalContext.getContext().setProviderSide(false);
            exception = serializer.buildSerializeError("xx", new RuntimeException());
            Assert.assertEquals(RpcErrorType.CLIENT_SERIALIZE, exception.getErrorType());
        } finally {
            RpcInternalContext.setContext(old);
        }
    }
@author <a href="mailto:zhanggeng.zg@antfin.com">GengZhang</a>
core/api/src/test/java/com/alipay/sofa/rpc/codec/AbstractSerializerTest.java