diff --git a/tests/update/test-advertise-crash.cpp b/tests/update/test-advertise-crash.cpp
index d6aea8a..09a27d7 100644
--- a/tests/update/test-advertise-crash.cpp
+++ b/tests/update/test-advertise-crash.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  The University of Memphis,
+ * Copyright (c) 2014-2022,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -26,7 +26,7 @@
 namespace nlsr {
 namespace test {
 
-class AdvertiseCrashFixture : public nlsr::test::UnitTestTimeFixture
+class AdvertiseCrashFixture : public UnitTestTimeFixture
 {
 public:
   AdvertiseCrashFixture()
@@ -70,7 +70,9 @@
   NamePrefixList& namePrefixList;
 };
 
-BOOST_FIXTURE_TEST_CASE(TestAdvertiseCrash, AdvertiseCrashFixture)
+BOOST_FIXTURE_TEST_SUITE(TestAdvertiseCrash, AdvertiseCrashFixture)
+
+BOOST_AUTO_TEST_CASE(ReceiveAdvertiseInterest)
 {
   // Note that this test does not setup any security
   // and the interest will be rejected by NLSR.
@@ -84,10 +86,14 @@
   advertiseCommand.append(parameters.wireEncode());
 
   auto advertiseInterest = std::make_shared<ndn::Interest>(advertiseCommand);
-  advertiseInterest->setCanBePrefix(false);
   face.receive(*advertiseInterest);
   this->advanceClocks(ndn::time::milliseconds(10), 10);
+
+  // avoid "test case [...] did not check any assertions" message from Boost.Test
+  BOOST_CHECK(true);
 }
 
+BOOST_AUTO_TEST_SUITE_END()
+
 } // namespace test
 } // namespace nlsr
diff --git a/tests/update/test-nfd-rib-command-processor.cpp b/tests/update/test-nfd-rib-command-processor.cpp
index ef8c1b6..cc23dd0 100644
--- a/tests/update/test-nfd-rib-command-processor.cpp
+++ b/tests/update/test-nfd-rib-command-processor.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  The University of Memphis,
+ * Copyright (c) 2014-2022,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -32,7 +32,7 @@
 namespace nlsr {
 namespace test {
 
-class NfdRibCommandProcessorFixture : public nlsr::test::UnitTestTimeFixture
+class NfdRibCommandProcessorFixture : public UnitTestTimeFixture
 {
 public:
   NfdRibCommandProcessorFixture()
@@ -55,7 +55,6 @@
   sendCommand(ndn::Name prefix, const ndn::nfd::ControlParameters& parameters)
   {
     ndn::Interest interest(prefix.append(parameters.wireEncode()));
-    interest.setCanBePrefix(false);
     face.receive(interest);
     this->advanceClocks(ndn::time::milliseconds(10), 10);
   }
diff --git a/tests/update/test-prefix-update-processor.cpp b/tests/update/test-prefix-update-processor.cpp
index fe0bfac..9c20114 100644
--- a/tests/update/test-prefix-update-processor.cpp
+++ b/tests/update/test-prefix-update-processor.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  The University of Memphis,
+ * Copyright (c) 2014-2022,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -40,7 +40,7 @@
 namespace nlsr {
 namespace test {
 
-class PrefixUpdateFixture : public nlsr::test::UnitTestTimeFixture
+class PrefixUpdateFixture : public UnitTestTimeFixture
 {
 public:
   PrefixUpdateFixture()
