diff --git a/tests/unit-tests/ca-module.t.cpp b/tests/unit-tests/ca-module.t.cpp
index 15e48df..b1e4d22 100644
--- a/tests/unit-tests/ca-module.t.cpp
+++ b/tests/unit-tests/ca-module.t.cpp
@@ -198,7 +198,7 @@
     Block probeRedirect = contentBlock.get(tlv_probe_redirect);
     probeRedirect.parse();
     // Test the case where we have multiple probeRedirects
-    BOOST_CHECK_EQUAL(probeRedirect.elements().size(), 2)
+    BOOST_CHECK_EQUAL(probeRedirect.elements().size(), 2);
     for (const auto& item : probeRedirect.elements()) {
         Name caName;
         caName.wireDecode(item.get(tlv::Name));
diff --git a/tests/unit-tests/requester.t.cpp b/tests/unit-tests/requester.t.cpp
index 1017c23..3c125d8 100644
--- a/tests/unit-tests/requester.t.cpp
+++ b/tests/unit-tests/requester.t.cpp
@@ -39,7 +39,7 @@
 
   CaProfile ca_profile;
   ca_profile.m_probeParameterKeys.push_back("email");
-  ca_profile.m_probeParameterKeys.push_back("uid");	
+  ca_profile.m_probeParameterKeys.push_back("uid");
   ca_profile.m_probeParameterKeys.push_back("name");
   ca_profile.m_caPrefix = Name("/site");
   ca_profile.m_cert = std::make_shared<security::v2::Certificate>(cert);
@@ -48,7 +48,7 @@
   probeParams.push_back(std::make_tuple("email", "zhiyi@cs.ucla.edu"));
   probeParams.push_back(std::make_tuple("uid", "987654321"));
   probeParams.push_back(std::make_tuple("name", "Zhiyi Zhang"));
-  auto firstInterest = Requester::genProbeInterest(ca_profile, probeParams);
+  auto firstInterest = Requester::genProbeInterest(ca_profile, std::move(probeParams));
 
   BOOST_CHECK(firstInterest->getName().at(-1).isParametersSha256Digest());
   // ignore the last name component (ParametersSha256Digest)
