【发布时间】:2016-06-21 12:42:31
【问题描述】:
import org.junit.Test;
import java.util.Base64;
import org.junit.Assert.*;
import java.util.Random;
...
@Test
public void testEncoding(){
byte[] data = new byte[32];
new Random().nextBytes(data);
String base64 = Base64.getEncoder().encodeToString(data);
assertEquals(data, Base64.getDecoder().decode(base64));
}
@Test
public void testDecoding(){
String base64 = "ABCDEFGHIJKLRMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/A==";
byte[] data = Base64.getDecoder().decode(base64);
assertEquals(base64, Base64.getEncoder().encodeToString(data));
}
testEncoding 测试失败并出现 AssertionError: 预期:[B@6bf2d08e 实际:[B@5eb5c224 我不明白为什么。
【问题讨论】:
-
你确定
assertEquals(byte[], byte[])做你想做的事吗?数组自然不会实现相等...
标签: java encoding base64 decoding