diff --git a/tests/unit-tests/key-locator.t.cpp b/tests/unit-tests/key-locator.t.cpp
index 8ae8d48..05dc94a 100644
--- a/tests/unit-tests/key-locator.t.cpp
+++ b/tests/unit-tests/key-locator.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2017 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -42,7 +42,7 @@
 
   // These octets are obtained by the snippet below.
   // This check is intended to detect unexpected encoding change in the future.
-  // for (Buffer::const_iterator it = wire.begin(); it != wire.end(); ++it) {
+  // for (auto it = wire.begin(); it != wire.end(); ++it) {
   //   printf("0x%02x, ", *it);
   // }
   static const uint8_t expected[] = {
@@ -51,7 +51,6 @@
   BOOST_CHECK_EQUAL_COLLECTIONS(expected, expected + sizeof(expected),
                                 wire.begin(), wire.end());
 
-  BOOST_REQUIRE_NO_THROW(KeyLocator(wire));
   KeyLocator b(wire);
   BOOST_CHECK(a == b);
   BOOST_CHECK_EQUAL(b.getType(), KeyLocator::KeyLocator_None);
@@ -74,7 +73,7 @@
 
   // These octets are obtained by the snippet below.
   // This check is intended to detect unexpected encoding change in the future.
-  // for (Buffer::const_iterator it = wire.begin(); it != wire.end(); ++it) {
+  // for (auto it = wire.begin(); it != wire.end(); ++it) {
   //   printf("0x%02x, ", *it);
   // }
   static const uint8_t expected[] = {
@@ -83,7 +82,6 @@
   BOOST_CHECK_EQUAL_COLLECTIONS(expected, expected + sizeof(expected),
                                 wire.begin(), wire.end());
 
-  BOOST_REQUIRE_NO_THROW(KeyLocator(wire));
   KeyLocator b(wire);
   BOOST_CHECK(a == b);
   BOOST_CHECK_EQUAL(b.getType(), KeyLocator::KeyLocator_Name);
@@ -110,7 +108,7 @@
 
   // These octets are obtained by the snippet below.
   // This check is intended to detect unexpected encoding change in the future.
-  // for (Buffer::const_iterator it = wire.begin(); it != wire.end(); ++it) {
+  // for (auto it = wire.begin(); it != wire.end(); ++it) {
   //   printf("0x%02x, ", *it);
   // }
   static const uint8_t expected[] = {
@@ -119,7 +117,6 @@
   BOOST_CHECK_EQUAL_COLLECTIONS(expected, expected + sizeof(expected),
                                 wire.begin(), wire.end());
 
-  BOOST_REQUIRE_NO_THROW(KeyLocator(wire));
   KeyLocator b(wire);
   BOOST_CHECK(a == b);
   BOOST_CHECK_EQUAL(b.getType(), KeyLocator::KeyLocator_KeyDigest);
@@ -170,7 +167,6 @@
     0x1c, 0x03, 0x7f, 0x01, 0xcc
   };
   Block wire(wireOctets, sizeof(wireOctets));
-  BOOST_REQUIRE_NO_THROW(KeyLocator(wire));
   KeyLocator a(wire);
   BOOST_CHECK_EQUAL(a.getType(), KeyLocator::KeyLocator_Unknown);
 
diff --git a/tests/unit-tests/net/face-uri.t.cpp b/tests/unit-tests/net/face-uri.t.cpp
index 73549df..71d76b1 100644
--- a/tests/unit-tests/net/face-uri.t.cpp
+++ b/tests/unit-tests/net/face-uri.t.cpp
@@ -122,11 +122,10 @@
 
 BOOST_AUTO_TEST_CASE(ParseUdp)
 {
-  BOOST_CHECK_NO_THROW(FaceUri("udp://hostname:6363"));
+  FaceUri uri("udp://hostname:6363");
   BOOST_CHECK_THROW(FaceUri("udp//hostname:6363"), FaceUri::Error);
   BOOST_CHECK_THROW(FaceUri("udp://hostname:port"), FaceUri::Error);
 
-  FaceUri uri;
   BOOST_CHECK_EQUAL(uri.parse("udp//hostname:6363"), false);
 
   BOOST_CHECK(uri.parse("udp://hostname:80"));
@@ -158,12 +157,12 @@
   namespace ip = boost::asio::ip;
 
   ip::udp::endpoint endpoint4(ip::address_v4::from_string("192.0.2.1"), 7777);
-  BOOST_REQUIRE_NO_THROW(FaceUri(endpoint4));
-  BOOST_CHECK_EQUAL(FaceUri(endpoint4).toString(), "udp4://192.0.2.1:7777");
+  uri = FaceUri(endpoint4);
+  BOOST_CHECK_EQUAL(uri.toString(), "udp4://192.0.2.1:7777");
 
   ip::udp::endpoint endpoint6(ip::address_v6::from_string("2001:DB8::1"), 7777);
-  BOOST_REQUIRE_NO_THROW(FaceUri(endpoint6));
-  BOOST_CHECK_EQUAL(FaceUri(endpoint6).toString(), "udp6://[2001:db8::1]:7777");
+  uri = FaceUri(endpoint6);
+  BOOST_CHECK_EQUAL(uri.toString(), "udp6://[2001:db8::1]:7777");
 
   BOOST_CHECK(uri.parse("udp6://[fe80::1%25eth1]:6363"));
   BOOST_CHECK_EQUAL(uri.getHost(), "fe80::1%25eth1");
@@ -303,15 +302,15 @@
   namespace ip = boost::asio::ip;
 
   ip::tcp::endpoint endpoint4(ip::address_v4::from_string("192.0.2.1"), 7777);
-  BOOST_REQUIRE_NO_THROW(FaceUri(endpoint4));
-  BOOST_CHECK_EQUAL(FaceUri(endpoint4).toString(), "tcp4://192.0.2.1:7777");
+  uri = FaceUri(endpoint4);
+  BOOST_CHECK_EQUAL(uri.toString(), "tcp4://192.0.2.1:7777");
 
-  BOOST_REQUIRE_NO_THROW(FaceUri(endpoint4, "wsclient"));
-  BOOST_CHECK_EQUAL(FaceUri(endpoint4, "wsclient").toString(), "wsclient://192.0.2.1:7777");
+  uri = FaceUri(endpoint4, "wsclient");
+  BOOST_CHECK_EQUAL(uri.toString(), "wsclient://192.0.2.1:7777");
 
   ip::tcp::endpoint endpoint6(ip::address_v6::from_string("2001:DB8::1"), 7777);
-  BOOST_REQUIRE_NO_THROW(FaceUri(endpoint6));
-  BOOST_CHECK_EQUAL(FaceUri(endpoint6).toString(), "tcp6://[2001:db8::1]:7777");
+  uri = FaceUri(endpoint6);
+  BOOST_CHECK_EQUAL(uri.toString(), "tcp6://[2001:db8::1]:7777");
 
   BOOST_CHECK(uri.parse("tcp6://[fe80::1%25eth1]:6363"));
   BOOST_CHECK_EQUAL(uri.getHost(), "fe80::1%25eth1");
@@ -441,8 +440,8 @@
 #ifdef BOOST_ASIO_HAS_LOCAL_SOCKETS
   using boost::asio::local::stream_protocol;
   stream_protocol::endpoint endpoint("/var/run/example.sock");
-  BOOST_REQUIRE_NO_THROW(FaceUri(endpoint));
-  BOOST_CHECK_EQUAL(FaceUri(endpoint).toString(), "unix:///var/run/example.sock");
+  uri = FaceUri(endpoint);
+  BOOST_CHECK_EQUAL(uri.toString(), "unix:///var/run/example.sock");
 #endif // BOOST_ASIO_HAS_LOCAL_SOCKETS
 }
 
@@ -457,8 +456,8 @@
   BOOST_CHECK_EQUAL(uri.getPath(), "");
 
   int fd = 21;
-  BOOST_REQUIRE_NO_THROW(FaceUri::fromFd(fd));
-  BOOST_CHECK_EQUAL(FaceUri::fromFd(fd).toString(), "fd://21");
+  uri = FaceUri::fromFd(fd);
+  BOOST_CHECK_EQUAL(uri.toString(), "fd://21");
 }
 
 BOOST_AUTO_TEST_CASE(ParseEther)
@@ -474,8 +473,8 @@
   BOOST_CHECK_EQUAL(uri.parse("ether://[08:00:27:zz:dd:01]"), false);
 
   auto address = ethernet::Address::fromString("33:33:01:01:01:01");
-  BOOST_REQUIRE_NO_THROW(FaceUri(address));
-  BOOST_CHECK_EQUAL(FaceUri(address).toString(), "ether://[33:33:01:01:01:01]");
+  uri = FaceUri(address);
+  BOOST_CHECK_EQUAL(uri.toString(), "ether://[33:33:01:01:01:01]");
 }
 
 BOOST_FIXTURE_TEST_CASE(CanonizeEther, CanonizeFixture)
@@ -509,7 +508,7 @@
   BOOST_CHECK_EQUAL(uri.parse("dev://eth0:8888"), false); // Bug #3896
 
   std::string ifname = "en1";
-  BOOST_REQUIRE_NO_THROW(uri = FaceUri::fromDev(ifname));
+  uri = FaceUri::fromDev(ifname);
   BOOST_CHECK_EQUAL(uri.toString(), "dev://en1");
 }
 
@@ -558,12 +557,12 @@
   namespace ip = boost::asio::ip;
 
   ip::udp::endpoint endpoint4(ip::udp::v4(), 7777);
-  BOOST_REQUIRE_NO_THROW(FaceUri::fromUdpDev(endpoint4, "en1"));
-  BOOST_CHECK_EQUAL(FaceUri::fromUdpDev(endpoint4, "en1").toString(), "udp4+dev://en1:7777");
+  uri = FaceUri::fromUdpDev(endpoint4, "en1");
+  BOOST_CHECK_EQUAL(uri.toString(), "udp4+dev://en1:7777");
 
   ip::udp::endpoint endpoint6(ip::udp::v6(), 7777);
-  BOOST_REQUIRE_NO_THROW(FaceUri::fromUdpDev(endpoint6, "en2"));
-  BOOST_CHECK_EQUAL(FaceUri::fromUdpDev(endpoint6, "en2").toString(), "udp6+dev://en2:7777");
+  uri = FaceUri::fromUdpDev(endpoint6, "en2");
+  BOOST_CHECK_EQUAL(uri.toString(), "udp6+dev://en2:7777");
 }
 
 BOOST_FIXTURE_TEST_CASE(CanonizeUdpDev, CanonizeFixture)
diff --git a/tests/unit-tests/security/signature-sha256-with-ecdsa.t.cpp b/tests/unit-tests/security/signature-sha256-with-ecdsa.t.cpp
index edc15d7..658b1c2 100644
--- a/tests/unit-tests/security/signature-sha256-with-ecdsa.t.cpp
+++ b/tests/unit-tests/security/signature-sha256-with-ecdsa.t.cpp
@@ -77,7 +77,7 @@
   Block sigValueBlock(sigValue, sizeof(sigValue));
 
   Signature sig(sigInfoBlock, sigValueBlock);
-  BOOST_CHECK_NO_THROW(SignatureSha256WithEcdsa(sig));
+  BOOST_CHECK_NO_THROW(SignatureSha256WithEcdsa{sig});
   BOOST_CHECK_NO_THROW(sig.getKeyLocator());
 }
 
diff --git a/tests/unit-tests/security/signature-sha256-with-rsa.t.cpp b/tests/unit-tests/security/signature-sha256-with-rsa.t.cpp
index 4348ade..4599178 100644
--- a/tests/unit-tests/security/signature-sha256-with-rsa.t.cpp
+++ b/tests/unit-tests/security/signature-sha256-with-rsa.t.cpp
@@ -82,7 +82,7 @@
   Block sigValueBlock(sigValue, sizeof(sigValue));
 
   Signature sig(sigInfoBlock, sigValueBlock);
-  BOOST_CHECK_NO_THROW(SignatureSha256WithRsa(sig));
+  BOOST_CHECK_NO_THROW(SignatureSha256WithRsa{sig});
   BOOST_CHECK_NO_THROW(sig.getKeyLocator());
 }
 
