diff --git a/tests/unit-tests/client-module.t.cpp b/tests/unit-tests/client-module.t.cpp
index e8dccaf..eb4cd45 100644
--- a/tests/unit-tests/client-module.t.cpp
+++ b/tests/unit-tests/client-module.t.cpp
@@ -18,6 +18,7 @@
  * See AUTHORS.md for complete list of ndncert authors and contributors.
  */
 
+#include <protocol-detail/error.hpp>
 #include "client-module.hpp"
 #include "challenge-module.hpp"
 #include "ca-module.hpp"
@@ -65,6 +66,31 @@
                     "zhiyi@cs.ucla.edu");
 }
 
+BOOST_AUTO_TEST_CASE(ErrorHandling)
+{
+  auto identity = addIdentity(Name("/site"));
+  auto key = identity.getDefaultKey();
+  auto cert = key.getDefaultCertificate();
+
+  ClientModule client(m_keyChain);
+  CaConfigItem item;
+  item.m_caPrefix = Name("/site");
+  item.m_cert = std::make_shared<security::v2::Certificate>(cert);
+  client.getClientConf().m_caItems.push_back(item);
+
+  client.generateProbeInterest(item,std::vector<std::tuple<std::string, std::string>>());
+
+  Data errorPacket;
+  errorPacket.setName(Name("/site/pretend/this/is/error/packet"));
+  errorPacket.setFreshnessPeriod(time::seconds(100));
+  errorPacket.setContent(ErrorTLV::encodeDataContent(ErrorCode::NO_ERROR, "This is a test."));
+  m_keyChain.sign(errorPacket, signingByIdentity(identity));
+
+  BOOST_CHECK_THROW(client.onProbeResponse(errorPacket), std::exception);
+  BOOST_CHECK_THROW(client.onNewRenewRevokeResponse(errorPacket), std::exception);
+  BOOST_CHECK_THROW(client.onChallengeResponse(errorPacket), std::exception);
+}
+
 // BOOST_AUTO_TEST_CASE(GenProbeRequestJson)
 // {
 //   ClientModule client(m_keyChain);
