diff --git a/tests/unit-tests/ndn-cxx/face.t.cpp b/tests/unit-tests/ndn-cxx/face.t.cpp
index 67f3333..df84a30 100644
--- a/tests/unit-tests/ndn-cxx/face.t.cpp
+++ b/tests/unit-tests/ndn-cxx/face.t.cpp
@@ -242,8 +242,8 @@
   size_t recvCount = 0;
 
   // Retrieve data from remote
-  FactoryCallbackApp::Install(getNode("A"), [this, &recvCount] () -> shared_ptr<void> {
-      return make_shared<MultipleInterest>("/test/prefix", [this, &recvCount] (const Name& data) {
+  FactoryCallbackApp::Install(getNode("A"), [&recvCount] () -> shared_ptr<void> {
+      return make_shared<MultipleInterest>("/test/prefix", [&recvCount] (const Name& data) {
           BOOST_CHECK_EQUAL(data, Name("/test/prefix").appendSegment(recvCount));
           ++recvCount;
         },
@@ -283,7 +283,7 @@
 BOOST_AUTO_TEST_CASE(FaceShutdownFromTimeoutCallback)
 {
   // This test case to check if Face.shutdown from an onTimeout callback doesn't cause segfaults
-  FactoryCallbackApp::Install(getNode("A"), [this] () -> shared_ptr<void> {
+  FactoryCallbackApp::Install(getNode("A"), [] () -> shared_ptr<void> {
       return make_shared<SingleInterestWithFaceShutdown>();
     })
     .Start(Seconds(1.01));
diff --git a/tests/unit-tests/utils/tracers/ndn-app-delay-tracer.t.cpp b/tests/unit-tests/utils/tracers/ndn-app-delay-tracer.t.cpp
index 9336fd8..b981cee 100644
--- a/tests/unit-tests/utils/tracers/ndn-app-delay-tracer.t.cpp
+++ b/tests/unit-tests/utils/tracers/ndn-app-delay-tracer.t.cpp
@@ -88,13 +88,14 @@
   buffer << t.rdbuf();
 
   BOOST_CHECK_EQUAL(buffer.str(),
-    "Time	Node	AppId	SeqNo	Type	DelayS	DelayUS	RetxCount	HopCount\n"
-    "0.0417664	1	0	0	LastDelay	0.0417664	41766.4	1	2\n"
-    "0.0417664	1	0	0	FullDelay	0.0417664	41766.4	1	2\n"
-    "2	2	0	0	LastDelay	0	0	1	0\n"
-    "2	2	0	0	FullDelay	0	0	1	0\n"
-    "3.02088	2	0	1	LastDelay	0.0208832	20883.2	1	1\n"
-    "3.02088	2	0	1	FullDelay	0.0208832	20883.2	1	1\n");
+                    R"STR(Time	Node	AppId	SeqNo	Type	DelayS	DelayUS	RetxCount	HopCount
+0.0417888	1	0	0	LastDelay	0.0417888	41788.8	1	2
+0.0417888	1	0	0	FullDelay	0.0417888	41788.8	1	2
+2	2	0	0	LastDelay	0	0	1	0
+2	2	0	0	FullDelay	0	0	1	0
+3.02089	2	0	1	LastDelay	0.0208944	20894.4	1	1
+3.02089	2	0	1	FullDelay	0.0208944	20894.4	1	1
+)STR");
 }
 
 BOOST_AUTO_TEST_CASE(InstallNodeContainer)
@@ -114,9 +115,10 @@
   buffer << t.rdbuf();
 
   BOOST_CHECK_EQUAL(buffer.str(),
-    "Time	Node	AppId	SeqNo	Type	DelayS	DelayUS	RetxCount	HopCount\n"
-    "0.0417664	1	0	0	LastDelay	0.0417664	41766.4	1	2\n"
-    "0.0417664	1	0	0	FullDelay	0.0417664	41766.4	1	2\n");
+    R"STR(Time	Node	AppId	SeqNo	Type	DelayS	DelayUS	RetxCount	HopCount
+0.0417888	1	0	0	LastDelay	0.0417888	41788.8	1	2
+0.0417888	1	0	0	FullDelay	0.0417888	41788.8	1	2
+)STR");
 }
 
 BOOST_AUTO_TEST_CASE(InstallNode)
@@ -133,11 +135,12 @@
   buffer << t.rdbuf();
 
   BOOST_CHECK_EQUAL(buffer.str(),
-    "Time	Node	AppId	SeqNo	Type	DelayS	DelayUS	RetxCount	HopCount\n"
-    "2	2	0	0	LastDelay	0	0	1	0\n"
-    "2	2	0	0	FullDelay	0	0	1	0\n"
-    "3.02088	2	0	1	LastDelay	0.0208832	20883.2	1	1\n"
-    "3.02088	2	0	1	FullDelay	0.0208832	20883.2	1	1\n");
+    R"STR(Time	Node	AppId	SeqNo	Type	DelayS	DelayUS	RetxCount	HopCount
+2	2	0	0	LastDelay	0	0	1	0
+2	2	0	0	FullDelay	0	0	1	0
+3.02089	2	0	1	LastDelay	0.0208944	20894.4	1	1
+3.02089	2	0	1	FullDelay	0.0208944	20894.4	1	1
+)STR");
 }
 
 BOOST_AUTO_TEST_CASE(InstallNodeDumpStream)
@@ -151,10 +154,11 @@
   tracer = nullptr; // destroy tracer
 
   BOOST_CHECK(output->is_equal(
-    "2	2	0	0	LastDelay	0	0	1	0\n"
-    "2	2	0	0	FullDelay	0	0	1	0\n"
-    "3.02088	2	0	1	LastDelay	0.0208832	20883.2	1	1\n"
-    "3.02088	2	0	1	FullDelay	0.0208832	20883.2	1	1\n"));
+    R"STR(2	2	0	0	LastDelay	0	0	1	0
+2	2	0	0	FullDelay	0	0	1	0
+3.02089	2	0	1	LastDelay	0.0208944	20894.4	1	1
+3.02089	2	0	1	FullDelay	0.0208944	20894.4	1	1
+)STR"));
 }
 
 BOOST_AUTO_TEST_SUITE_END()
diff --git a/tests/unit-tests/utils/tracers/ndn-l3-rate-tracer.t.cpp b/tests/unit-tests/utils/tracers/ndn-l3-rate-tracer.t.cpp
index 0bb895f..ae2dc8e 100644
--- a/tests/unit-tests/utils/tracers/ndn-l3-rate-tracer.t.cpp
+++ b/tests/unit-tests/utils/tracers/ndn-l3-rate-tracer.t.cpp
@@ -114,8 +114,8 @@
      << "1	1	257	appFace://	OutTimedOutInterests	0	0	0	0\n";
   BOOST_CHECK(os.match_pattern());
 
-  os << "1	1	-1	all	SatisfiedInterests	3.2	0	4	0\n"
-     << "1	1	-1	all	TimedOutInterests	0	0	0	0\n";
+  os << "1	1	-1	all	SatisfiedInterests	2.4	0	3	0\n"
+     << "1	1	-1	all	TimedOutInterests	0.8	0	1	0\n";
   BOOST_CHECK(os.match_pattern());
 }
 
