diff --git a/tests/daemon/table/cleanup.t.cpp b/tests/daemon/table/cleanup.t.cpp
index ae83f78..b7395a3 100644
--- a/tests/daemon/table/cleanup.t.cpp
+++ b/tests/daemon/table/cleanup.t.cpp
@@ -74,14 +74,15 @@
 
 BOOST_AUTO_TEST_CASE(RemoveFibNexthops)
 {
-  Forwarder forwarder;
+  FaceTable faceTable;
+  Forwarder forwarder(faceTable);
   NameTree& nameTree = forwarder.getNameTree();
   Fib& fib = forwarder.getFib();
 
-  shared_ptr<Face> face1 = make_shared<DummyFace>();
-  shared_ptr<Face> face2 = make_shared<DummyFace>();
-  forwarder.addFace(face1);
-  forwarder.addFace(face2);
+  auto face1 = make_shared<DummyFace>();
+  auto face2 = make_shared<DummyFace>();
+  faceTable.add(face1);
+  faceTable.add(face2);
 
   // {}
   size_t nNameTreeEntriesBefore = nameTree.size();
@@ -130,13 +131,14 @@
 
 BOOST_AUTO_TEST_CASE(DeletePitInOutRecords)
 {
-  Forwarder forwarder;
+  FaceTable faceTable;
+  Forwarder forwarder(faceTable);
   Pit& pit = forwarder.getPit();
 
-  shared_ptr<Face> face1 = make_shared<DummyFace>();
-  shared_ptr<Face> face2 = make_shared<DummyFace>();
-  forwarder.addFace(face1);
-  forwarder.addFace(face2);
+  auto face1 = make_shared<DummyFace>();
+  auto face2 = make_shared<DummyFace>();
+  faceTable.add(face1);
+  faceTable.add(face2);
 
   // {}
   BOOST_CHECK_EQUAL(pit.size(), 0);
diff --git a/tests/daemon/table/measurements-accessor.t.cpp b/tests/daemon/table/measurements-accessor.t.cpp
index aeed38f..1c5a850 100644
--- a/tests/daemon/table/measurements-accessor.t.cpp
+++ b/tests/daemon/table/measurements-accessor.t.cpp
@@ -62,7 +62,6 @@
 {
 protected:
   MeasurementsAccessorFixture()
-    : measurements(forwarder.getMeasurements())
   {
     const Name strategyP("/measurements-accessor-test-strategy-P/%FD%01");
     const Name strategyQ("/measurements-accessor-test-strategy-Q/%FD%01");
@@ -81,8 +80,9 @@
   }
 
 protected:
-  Forwarder forwarder;
-  Measurements& measurements;
+  FaceTable faceTable;
+  Forwarder forwarder{faceTable};
+  Measurements& measurements{forwarder.getMeasurements()};
   MeasurementsAccessor* accessor1;
   MeasurementsAccessor* accessor2;
   MeasurementsAccessor* accessor3;
diff --git a/tests/daemon/table/strategy-choice.t.cpp b/tests/daemon/table/strategy-choice.t.cpp
index 339903e..8c52b54 100644
--- a/tests/daemon/table/strategy-choice.t.cpp
+++ b/tests/daemon/table/strategy-choice.t.cpp
@@ -36,9 +36,6 @@
 {
 protected:
   StrategyChoiceFixture()
-    : sc(forwarder.getStrategyChoice())
-    , strategyNameP("/strategy-choice-P/%FD%00")
-    , strategyNameQ("/strategy-choice-Q/%FD%00")
   {
     DummyStrategy::registerAs(strategyNameP);
     DummyStrategy::registerAs(strategyNameQ);
@@ -77,11 +74,12 @@
   }
 
 protected:
-  Forwarder forwarder;
-  StrategyChoice& sc;
+  FaceTable faceTable;
+  Forwarder forwarder{faceTable};
+  StrategyChoice& sc{forwarder.getStrategyChoice()};
 
-  const Name strategyNameP;
-  const Name strategyNameQ;
+  const Name strategyNameP = "/strategy-choice-P/%FD%00";
+  const Name strategyNameQ = "/strategy-choice-Q/%FD%00";
 };
 
 BOOST_AUTO_TEST_SUITE(Table)
