diff --git a/tests/tools/mock-nfd-mgmt-fixture.hpp b/tests/tools/mock-nfd-mgmt-fixture.hpp
index eed9846..f5feb86 100644
--- a/tests/tools/mock-nfd-mgmt-fixture.hpp
+++ b/tests/tools/mock-nfd-mgmt-fixture.hpp
@@ -173,7 +173,7 @@
    *  \param name dataset prefix without version and segment
    *  \param contentArgs passed to Data::setContent
    */
-  template<typename ...ContentArgs>
+  template<typename... ContentArgs>
   void
   sendDatasetReply(Name name, ContentArgs&&... contentArgs)
   {
@@ -220,8 +220,8 @@
   [&interest] { \
     auto params = parseCommand(interest, (expectedPrefix)); \
     BOOST_REQUIRE_MESSAGE(params.has_value(), "Interest " << interest.getName() << \
-                          " does not match command prefix " << (expectedPrefix)); \
+                          " must match the prefix " << (expectedPrefix)); \
     return *params; \
-  } ()
+  }()
 
 #endif // NFD_TESTS_TOOLS_MOCK_NFD_MGMT_FIXTURE_HPP
diff --git a/tests/tools/nfdc/rib-module.t.cpp b/tests/tools/nfdc/rib-module.t.cpp
index b50625d..f349dfd 100644
--- a/tests/tools/nfdc/rib-module.t.cpp
+++ b/tests/tools/nfdc/rib-module.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -457,8 +457,9 @@
     ndn::nfd::RibUnregisterCommand cmd;
     cmd.validateRequest(req);
     cmd.applyDefaultsToRequest(req);
+    BOOST_TEST_INFO_SCOPE("FaceId=" << req.getFaceId());
     BOOST_CHECK_EQUAL(req.getName(), "/nm5y8X8b2");
-    BOOST_CHECK_MESSAGE(faceIds.erase(req.getFaceId()), "expected face " + to_string(req.getFaceId()));
+    BOOST_CHECK(faceIds.erase(req.getFaceId()));
     BOOST_CHECK_EQUAL(req.getOrigin(), ndn::nfd::ROUTE_ORIGIN_STATIC);
 
     this->succeedCommand(interest, req);
