为了账号安全,请及时绑定邮箱和手机立即绑定

字符串序列化单元测试失败

字符串序列化单元测试失败

largeQ 2021-06-15 17:27:28
在运行 JunitString序列化测试后,它失败并给了我以下结果:预期:"netmodel"实际:"l"序列化方法如下public static void serializeString(String objectToSerialize, OutputStream outputStream) {    byte[] bytesArr = objectToSerialize.getBytes();    serializeInt(bytesArr.length, outputStream);    try {        outputStream.write(bytesArr);    } catch (IOException e) {        e.printStackTrace();    }}我的反序列化方法如下public static String deserializeString(InputStream inputStream) {String deserializeObject = "";char asciiToChar;int stringByteArrayLength = deserializeInt(inputStream);byte[] databytesArr = new byte[stringByteArrayLength];try {  inputStream.read(databytesArr, 0, stringByteArrayLength);}catch (IOException e) {  e.printStackTrace();}for (int i = 0; i < databytesArr.length; i++) {  asciiToChar = (char) databytesArr[i];  deserializeObject = "" + Character.toString(asciiToChar);}return deserializeObject;} 最后我写了一个单元测试如下public class StringSerializerTest {  private InputStream iStream;  private ByteArrayOutputStream oStream;  @Before  public void init() {    oStream = new ByteArrayOutputStream();  }  String serialzeAndDeserializeObject(String stringValue) {    OutputStreamUtil.serializeString(stringValue, oStream);    iStream = new ByteArrayInputStream(oStream.toByteArray());    return InputStreamUtil.deserializeString(iStream);  }  @Test  public void equals_equal() {    String stringValue = "netmodel";    String deserializedStringValue = serialzeAndDeserializeObject(stringValue);    assertThat(deserializedStringValue).isEqualTo(stringValue);  }}哪里错了?以及如何解决它?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信