diff --git a/tests/daemon/fw/strategy-instantiation.t.cpp b/tests/daemon/fw/strategy-instantiation.t.cpp
index c6fe471..f6ff4e2 100644
--- a/tests/daemon/fw/strategy-instantiation.t.cpp
+++ b/tests/daemon/fw/strategy-instantiation.t.cpp
@@ -34,6 +34,7 @@
 #include "fw/best-route-strategy2.hpp"
 #include "fw/multicast-strategy.hpp"
 #include "fw/ncc-strategy.hpp"
+#include "fw/self-learning-strategy.hpp"
 
 #include "tests/test-common.hpp"
 #include <boost/mpl/vector.hpp>
@@ -78,7 +79,8 @@
   Test<BestRouteStrategy, false, 1>,
   Test<BestRouteStrategy2, false, 5>,
   Test<MulticastStrategy, false, 3>,
-  Test<NccStrategy, false, 1>
+  Test<NccStrategy, false, 1>,
+  Test<SelfLearningStrategy, false, 1>
 >;
 
 BOOST_AUTO_TEST_CASE_TEMPLATE(Registration, T, Tests)
diff --git a/tests/other/fw/self-learning.md b/tests/other/fw/self-learning.md
new file mode 100644
index 0000000..6dc75c1
--- /dev/null
+++ b/tests/other/fw/self-learning.md
@@ -0,0 +1,27 @@
+This file describes how self-learning forwarding strategy is tested.
+
+Installation/Configuration:
+
+ - Install two NFDs (A and B) with the self-learning forwarding strategy
+
+ - Configure two NFDs to be connected: either both NFDs have to be connected to the same multicast-capable network (they effectively will communicate over it) or faces between two nodes have to be configured and maintained for communication
+
+ - Enable `localhop_security` by editing nfd.conf file for both NFDs
+
+Execution:
+
+ - Run NFD, and choose self-learning forwarding strategy for name prefix /sl on both NFDs with this command:
+   `nfdc strategy set /sl /localhost/nfd/strategy/self-learning`
+
+ - Run ndnpingserver on node A to serve /sl: `ndnpingserver /sl` (Install ndn-tools first)
+
+ - Run ndnping on node B for /sl: `ndnping /sl`
+
+Results:
+
+ - ndnping works
+
+ - run command `nfdc route` to show the newly added route that follows the following format:
+   `prefix=/sl/ping nexthop=<faceID> origin=prefixann cost=2048 flags=child-inherit expires=<duration>`
+
+ - in NFD logs (with DEBUG level enabled), the first Interest is sent to all faces, while the subsequent Interests are sent to only one face
\ No newline at end of file
diff --git a/tests/other/wscript b/tests/other/wscript
index 3c6d1c0..b09be43 100644
--- a/tests/other/wscript
+++ b/tests/other/wscript
@@ -37,7 +37,7 @@
         bld.program(name=module,
                     target='../../%s' % module,
                     source=bld.path.ant_glob('%s*.cpp' % module),
-                    use='daemon-objects unit-tests-base other-tests-%s-main' % module,
+                    use='daemon-objects rib-objects unit-tests-base other-tests-%s-main' % module,
                     defines=['UNIT_TEST_CONFIG_PATH="%s"' % bld.bldnode.make_node('tmp-files')],
                     install_path=None)
 
@@ -45,5 +45,5 @@
     bld.program(name='face-benchmark',
                 target='../../face-benchmark',
                 source=bld.path.ant_glob('face-benchmark*.cpp'),
-                use='daemon-objects',
+                use='daemon-objects rib-objects',
                 install_path=None)
diff --git a/tests/wscript b/tests/wscript
index 7e9300f..2103753 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -63,12 +63,20 @@
                 src += node.ant_glob('face/websocket*.cpp')
 
             # unit-tests-%module
-            bld.program(name='unit-tests-%s' % module,
-                        target='../unit-tests-%s' % module,
-                        source=src,
-                        use='%s-objects unit-tests-base unit-tests-%s-main' % (module, module),
-                        defines=[config_path],
-                        install_path=None)
+            if module == "daemon":
+              bld.program(name='unit-tests-%s' % module,
+                          target='../unit-tests-%s' % module,
+                          source=src,
+                          use='%s-objects rib-objects unit-tests-base unit-tests-%s-main' % (module, module),
+                          defines=[config_path],
+                          install_path=None)
+            else:
+              bld.program(name='unit-tests-%s' % module,
+                          target='../unit-tests-%s' % module,
+                          source=src,
+                          use='%s-objects unit-tests-base unit-tests-%s-main' % (module, module),
+                          defines=[config_path],
+                          install_path=None)
 
     # Other tests (e.g., stress tests and benchmarks that can be enabled even if unit tests are disabled)
     if bld.env.WITH_TESTS or bld.env.WITH_OTHER_TESTS:
