diff --git a/tests/test-common.hpp b/tests/test-common.hpp
new file mode 100644
index 0000000..cbb83d9
--- /dev/null
+++ b/tests/test-common.hpp
@@ -0,0 +1,48 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (c) 2014  University of Memphis,
+ *                     Regents of the University of California
+ *
+ * This file is part of NLSR (Named-data Link State Routing).
+ * See AUTHORS.md for complete list of NLSR authors and contributors.
+ *
+ * NLSR is free software: you can redistribute it and/or modify it under the terms
+ * of the GNU General Public License as published by the Free Software Foundation,
+ * either version 3 of the License, or (at your option) any later version.
+ *
+ * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.  See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * NLSR, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ **/
+
+#ifndef NLSR_TEST_COMMON_HPP
+#define NLSR_TEST_COMMON_HPP
+
+#include <boost/asio.hpp>
+#include <ndn-cxx/util/scheduler.hpp>
+
+namespace nlsr {
+namespace test {
+
+class BaseFixture
+{
+public:
+  BaseFixture()
+    : g_scheduler(g_ioService)
+  {
+  }
+
+protected:
+  boost::asio::io_service g_ioService;
+  ndn::Scheduler g_scheduler;
+};
+
+} // namespace test
+} // namespace nlsr
+
+#endif
\ No newline at end of file
diff --git a/tests/test-conf-file-processor.cpp b/tests/test-conf-file-processor.cpp
index 7025914..44987de 100644
--- a/tests/test-conf-file-processor.cpp
+++ b/tests/test-conf-file-processor.cpp
@@ -20,20 +20,22 @@
  * \author Ashlesh Gawande <agawande@memphis.edu>
  *
  **/
+
+#include "test-common.hpp"
+
 #include <fstream>
 #include "conf-file-processor.hpp"
 #include "nlsr.hpp"
 #include <boost/test/unit_test.hpp>
 
 namespace nlsr {
-
 namespace test {
 
-BOOST_AUTO_TEST_SUITE(TestConfFileProcessor)
+BOOST_FIXTURE_TEST_SUITE(TestConfFileProcessor, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(ConfFileProcessorSample)
 {
-  Nlsr nlsr1;
+  Nlsr nlsr1(g_ioService, g_scheduler);
 
   const std::string CONFIG =
      "general\n"
diff --git a/tests/test-lsdb.cpp b/tests/test-lsdb.cpp
index 430458d..84493d2 100644
--- a/tests/test-lsdb.cpp
+++ b/tests/test-lsdb.cpp
@@ -20,6 +20,9 @@
  * \author Ashlesh Gawande <agawande@memphis.edu>
  *
  **/
+
+#include "test-common.hpp"
+
 #include "lsdb.hpp"
 #include "nlsr.hpp"
 #include "lsa.hpp"
@@ -31,13 +34,13 @@
 
 namespace test {
 
-BOOST_AUTO_TEST_SUITE(TestLsdb)
+BOOST_FIXTURE_TEST_SUITE(TestLsdb, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(LsdbRemoveAndExists)
 {
   INIT_LOGGERS("/tmp", "DEBUG");
 
-  Nlsr nlsr1;
+  Nlsr nlsr1(g_ioService, g_scheduler);
   ndn::time::system_clock::TimePoint testTimePoint =  ndn::time::system_clock::now();
   NamePrefixList npl1;
 
@@ -53,7 +56,7 @@
 //1800 is the default life time.
   NameLsa nlsa1(ndn::Name("/router1/1"), std::string("name"), 12, testTimePoint, npl1);
 
-  Lsdb lsdb1(nlsr1);
+  Lsdb lsdb1(nlsr1, g_scheduler);
 
   lsdb1.installNameLsa(nlsa1);
   lsdb1.writeNameLsdbLog();
diff --git a/tests/test-routing-table.cpp b/tests/test-routing-table.cpp
index 2e2edca..fa0c371 100644
--- a/tests/test-routing-table.cpp
+++ b/tests/test-routing-table.cpp
@@ -20,20 +20,21 @@
  * \author Ashlesh Gawande <agawande@memphis.edu>
  *
  **/
+
+#include "test-common.hpp"
 #include "route/routing-table.hpp"
 #include "route/routing-table-entry.hpp"
 #include "route/nexthop.hpp"
 #include <boost/test/unit_test.hpp>
 
 namespace nlsr {
-
 namespace test {
 
-BOOST_AUTO_TEST_SUITE(TestRoutingTable)
+BOOST_FIXTURE_TEST_SUITE(TestRoutingTable, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(RoutingTableAddNextHop)
 {
-  RoutingTable rt1;
+  RoutingTable rt1(g_scheduler);
 
   NextHop nh1;
 
