Base64 represents bytes as printable characters; it is not encryption or compression. First encode a known byte sequence, decode it, and compare the bytes exactly. Then repeat with non-ASCII text after explicitly choosing UTF-8, because the same visible characters can have different byte encodings.
Check padding, whitespace, malformed characters, and the URL-safe alphabet separately. A forgiving decoder may accept more than a strict one, so report the mode selected instead of calling every rejected string a bug. Include the original bytes, encoded text, expected result, and any error message. See RFC 4648 for the common alphabets.