diff --git a/.gitignore b/.gitignore
index 269df84881c1e41b70fcc2323981994fa86cb16a..941f8179d9d48cbd06ff4a5962c3312781eec334 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ build
 # ignore generated files
 vendor
 decomposer.autoload.inc.php
+**/.phpunit.result.cache
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index c11b318cc5c97694860bfde46f2fc8064161a3ab..94b333ac980b6dea458876e242a445308d04ac9f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,6 @@
 language: php
 
 php:
-  - 7.1
   - 7.2
   - 7.3
   - nightly
diff --git a/composer.json b/composer.json
index e4089e4b0272a25ea3367291b79fb474b6c26e21..fc23a4450e6ee3664873543d4d4eb835c9670759 100644
--- a/composer.json
+++ b/composer.json
@@ -7,11 +7,11 @@
   "license": "MIT",
   "require": {
     "psr/log": "~1.1",
-    "php": "7.*",
+    "php": "~7.1",
     "ext-uopz": ">=5.1"
   },
   "require-dev": {
-    "phpunit/phpunit": "~7.0",
+    "phpunit/phpunit": "~8.0",
     "ext-xdebug": ">=2.4"
   },
   "config": {
diff --git a/composer.lock b/composer.lock
index 8fbff2c616ba9c6f51921472e04ef4b0bb8bb2f0..0d87d68deaeae1f040835d335a2f74e78b677776 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "a007224c6d5a5ebd667eee43a0ff1a3d",
+    "content-hash": "df43b4f118a3975ada75bda7da7d1cbf",
     "packages": [
         {
             "name": "psr/log",
@@ -476,40 +476,40 @@
         },
         {
             "name": "phpunit/php-code-coverage",
-            "version": "6.1.4",
+            "version": "7.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d"
+                "reference": "0317a769a81845c390e19684d9ba25d7f6aa4707"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
-                "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/0317a769a81845c390e19684d9ba25d7f6aa4707",
+                "reference": "0317a769a81845c390e19684d9ba25d7f6aa4707",
                 "shasum": ""
             },
             "require": {
                 "ext-dom": "*",
                 "ext-xmlwriter": "*",
-                "php": "^7.1",
-                "phpunit/php-file-iterator": "^2.0",
+                "php": "^7.2",
+                "phpunit/php-file-iterator": "^2.0.2",
                 "phpunit/php-text-template": "^1.2.1",
-                "phpunit/php-token-stream": "^3.0",
+                "phpunit/php-token-stream": "^3.0.1",
                 "sebastian/code-unit-reverse-lookup": "^1.0.1",
-                "sebastian/environment": "^3.1 || ^4.0",
+                "sebastian/environment": "^4.1",
                 "sebastian/version": "^2.0.1",
                 "theseer/tokenizer": "^1.1"
             },
             "require-dev": {
-                "phpunit/phpunit": "^7.0"
+                "phpunit/phpunit": "^8.0"
             },
             "suggest": {
-                "ext-xdebug": "^2.6.0"
+                "ext-xdebug": "^2.6.1"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "6.1-dev"
+                    "dev-master": "7.0-dev"
                 }
             },
             "autoload": {
@@ -535,7 +535,7 @@
                 "testing",
                 "xunit"
             ],
-            "time": "2018-10-31T16:06:48+00:00"
+            "time": "2019-02-26T07:38:26+00:00"
         },
         {
             "name": "phpunit/php-file-iterator",
@@ -728,16 +728,16 @@
         },
         {
             "name": "phpunit/phpunit",
-            "version": "7.5.6",
+            "version": "8.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9"
+                "reference": "a7af0201285445c9c73c4bdf869c486e36b41604"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9",
-                "reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a7af0201285445c9c73c4bdf869c486e36b41604",
+                "reference": "a7af0201285445c9c73c4bdf869c486e36b41604",
                 "shasum": ""
             },
             "require": {
@@ -747,27 +747,25 @@
                 "ext-libxml": "*",
                 "ext-mbstring": "*",
                 "ext-xml": "*",
+                "ext-xmlwriter": "*",
                 "myclabs/deep-copy": "^1.7",
                 "phar-io/manifest": "^1.0.2",
                 "phar-io/version": "^2.0",
-                "php": "^7.1",
+                "php": "^7.2",
                 "phpspec/prophecy": "^1.7",
-                "phpunit/php-code-coverage": "^6.0.7",
+                "phpunit/php-code-coverage": "^7.0",
                 "phpunit/php-file-iterator": "^2.0.1",
                 "phpunit/php-text-template": "^1.2.1",
                 "phpunit/php-timer": "^2.0",
                 "sebastian/comparator": "^3.0",
                 "sebastian/diff": "^3.0",
-                "sebastian/environment": "^4.0",
+                "sebastian/environment": "^4.1",
                 "sebastian/exporter": "^3.1",
-                "sebastian/global-state": "^2.0",
+                "sebastian/global-state": "^3.0",
                 "sebastian/object-enumerator": "^3.0.3",
                 "sebastian/resource-operations": "^2.0",
                 "sebastian/version": "^2.0.1"
             },
-            "conflict": {
-                "phpunit/phpunit-mock-objects": "*"
-            },
             "require-dev": {
                 "ext-pdo": "*"
             },
@@ -782,7 +780,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "7.5-dev"
+                    "dev-master": "8.0-dev"
                 }
             },
             "autoload": {
@@ -808,7 +806,7 @@
                 "testing",
                 "xunit"
             ],
-            "time": "2019-02-18T09:24:50+00:00"
+            "time": "2019-02-18T09:23:05+00:00"
         },
         {
             "name": "sebastian/code-unit-reverse-lookup",
@@ -1097,23 +1095,26 @@
         },
         {
             "name": "sebastian/global-state",
-            "version": "2.0.0",
+            "version": "3.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
+                "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
-                "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
+                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
+                "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
                 "shasum": ""
             },
             "require": {
-                "php": "^7.0"
+                "php": "^7.2",
+                "sebastian/object-reflector": "^1.1.1",
+                "sebastian/recursion-context": "^3.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^6.0"
+                "ext-dom": "*",
+                "phpunit/phpunit": "^8.0"
             },
             "suggest": {
                 "ext-uopz": "*"
@@ -1121,7 +1122,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.0-dev"
+                    "dev-master": "3.0-dev"
                 }
             },
             "autoload": {
@@ -1144,7 +1145,7 @@
             "keywords": [
                 "global state"
             ],
-            "time": "2017-04-27T15:39:26+00:00"
+            "time": "2019-02-01T05:30:01+00:00"
         },
         {
             "name": "sebastian/object-enumerator",
@@ -1532,7 +1533,7 @@
     "prefer-stable": false,
     "prefer-lowest": false,
     "platform": {
-        "php": "7.*",
+        "php": "~7.1",
         "ext-uopz": ">=5.1"
     },
     "platform-dev": {
diff --git a/src/Lunr/Halo/FluidInterfaceMock.php b/src/Lunr/Halo/FluidInterfaceMock.php
index a0179f0785fcc217ad494000b16f02a99b7ffe22..5ec161a97cba355a72f882278f88fe3e441141dc 100644
--- a/src/Lunr/Halo/FluidInterfaceMock.php
+++ b/src/Lunr/Halo/FluidInterfaceMock.php
@@ -67,7 +67,7 @@ class FluidInterfaceMock
      *
      * @return void
      */
-    public function mock($name, $value)
+    public function mock($name, $value): void
     {
         if (!array_key_exists($name, $this->return))
         {
diff --git a/src/Lunr/Halo/LunrBaseTest.php b/src/Lunr/Halo/LunrBaseTest.php
index c76bf2fbe38fa0980e7f709937ecd3ace384557f..b9da20ee60b311730204a2d808f813f4d43890ba 100644
--- a/src/Lunr/Halo/LunrBaseTest.php
+++ b/src/Lunr/Halo/LunrBaseTest.php
@@ -43,7 +43,7 @@ abstract class LunrBaseTest extends TestCase
     /**
      * Testcase Destructor.
      */
-    public function tearDown()
+    public function tearDown(): void
     {
         unset($this->class);
         unset($this->reflection);
diff --git a/src/Lunr/Halo/Tests/LunrBaseTestMockTest.php b/src/Lunr/Halo/Tests/LunrBaseTestMockTest.php
index 46570b494584b1a9fb2236f587d55a015f57ecf7..54e22ee742cade10385e0b13e34aff1721e02c4b 100644
--- a/src/Lunr/Halo/Tests/LunrBaseTestMockTest.php
+++ b/src/Lunr/Halo/Tests/LunrBaseTestMockTest.php
@@ -24,7 +24,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::mock_function()
      */
-    public function testMockFunction()
+    public function testMockFunction(): void
     {
         $this->mock_function('is_int', function (){ return 'Nope!'; });
 
@@ -38,7 +38,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::mock_function()
      */
-    public function testMockFunctionWithString()
+    public function testMockFunctionWithString(): void
     {
         $this->mock_function('is_int', "return 'Nope!';");
 
@@ -52,7 +52,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::unmock_function()
      */
-    public function testUnmockFunction()
+    public function testUnmockFunction(): void
     {
         $this->mock_function('is_int', function (){ return 'Nope!'; });
 
@@ -68,7 +68,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::mock_method()
      */
-    public function testMockMethod()
+    public function testMockMethod(): void
     {
         $this->mock_method([ '\Lunr\Halo\Tests\MockClass', 'baz' ], function (){ return 'Nope!'; });
 
@@ -84,7 +84,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::mock_method()
      */
-    public function testMockMethodWithString()
+    public function testMockMethodWithString(): void
     {
         $this->mock_method([ '\Lunr\Halo\Tests\MockClass', 'baz' ], "return 'Nope!';");
 
@@ -100,7 +100,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::mock_method()
      */
-    public function testMockMethodFromObject()
+    public function testMockMethodFromObject(): void
     {
         $this->mock_method([ $this->class, 'baz' ], function (){ return 'Nope!'; });
 
@@ -114,7 +114,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::mock_method()
      */
-    public function testMockMethodFromObjectWithString()
+    public function testMockMethodFromObjectWithString(): void
     {
         $this->mock_method([ $this->class, 'baz' ], "return 'Nope!';");
 
@@ -128,7 +128,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::unmock_method()
      */
-    public function testUnmockMethod()
+    public function testUnmockMethod(): void
     {
         $this->mock_method([ '\Lunr\Halo\Tests\MockClass', 'baz' ], function (){ return 'Nope!'; });
 
@@ -146,7 +146,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::unmock_method()
      */
-    public function testUnmockMethodFromObject()
+    public function testUnmockMethodFromObject(): void
     {
         $this->markTestSkipped("uopz currently doesn't handling unmocking with class instances correctly.");
 
@@ -164,7 +164,7 @@ class LunrBaseTestMockTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::constant_redefine()
      */
-    public function testConstantRedefine()
+    public function testConstantRedefine(): void
     {
         $this->assertSame('constant', $this->class::FOOBAR);
 
diff --git a/src/Lunr/Halo/Tests/LunrBaseTestReflectionTest.php b/src/Lunr/Halo/Tests/LunrBaseTestReflectionTest.php
index eb4307921edb137f838ad42f116f30ea5978577b..9a60809565f7195ab46494b06d989b4ba715cf55 100644
--- a/src/Lunr/Halo/Tests/LunrBaseTestReflectionTest.php
+++ b/src/Lunr/Halo/Tests/LunrBaseTestReflectionTest.php
@@ -24,7 +24,7 @@ class LunrBaseTestReflectionTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::get_accessible_reflection_method
      */
-    public function testGetAccessibleReflectionMethod()
+    public function testGetAccessibleReflectionMethod(): void
     {
         $method = $this->get_accessible_reflection_method('baz');
 
@@ -37,7 +37,7 @@ class LunrBaseTestReflectionTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::get_accessible_reflection_property
      */
-    public function testGetAccessibleReflectionProperty()
+    public function testGetAccessibleReflectionProperty(): void
     {
         $property = $this->get_accessible_reflection_property('foo');
 
@@ -50,7 +50,7 @@ class LunrBaseTestReflectionTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::get_reflection_property_value
      */
-    public function testGetReflectionPropertyValue()
+    public function testGetReflectionPropertyValue(): void
     {
         $value = $this->get_reflection_property_value('foo');
 
@@ -62,7 +62,7 @@ class LunrBaseTestReflectionTest extends LunrBaseTestTest
      *
      * @covers Lunr\Halo\LunrBaseTest::set_reflection_property_value
      */
-    public function testSetReflectionPropertyValue()
+    public function testSetReflectionPropertyValue(): void
     {
         $this->set_reflection_property_value('foo', 'foo');
 
diff --git a/src/Lunr/Halo/Tests/LunrBaseTestTest.php b/src/Lunr/Halo/Tests/LunrBaseTestTest.php
index 1ee6a7ea7535799dfbabf6054b56afdff650ddb9..b20aa2143022ceac94883ed8386beae6995d0910 100644
--- a/src/Lunr/Halo/Tests/LunrBaseTestTest.php
+++ b/src/Lunr/Halo/Tests/LunrBaseTestTest.php
@@ -37,7 +37,7 @@ class LunrBaseTestTest extends LunrBaseTest
     /**
      * Unit test constructor.
      */
-    public function setUp()
+    public function setUp(): void
     {
         $this->class      = $this->getMockBuilder('Lunr\Halo\Tests\MockClass')->getMock();
         $this->reflection = new ReflectionClass('Lunr\Halo\Tests\MockClass');
@@ -46,7 +46,7 @@ class LunrBaseTestTest extends LunrBaseTest
     /**
      * Unit test destructor.
      */
-    public function tearDown()
+    public function tearDown(): void
     {
         unset($this->class);
         unset($this->reflection);
diff --git a/tests/phpunit.xml b/tests/phpunit.xml
index 435bf42ebfc26302e39d46f29fac6f766bdc0423..c59bc6fe37ddef13a067d15075e3b5b0df34a748 100644
--- a/tests/phpunit.xml
+++ b/tests/phpunit.xml
@@ -3,9 +3,7 @@
 <phpunit    bootstrap="test.bootstrap.inc.php"
             backupGlobals="false"
             backupStaticAttributes="false"
-            syntaxCheck="false"
             forceCoversAnnotation="true"
-            mapTestClassNameToCoveredClassName="true"
             colors="true"
             verbose="true">
     <php>
@@ -28,16 +26,11 @@
     <logging>
         <log    type="coverage-html"
                 target="../build/coverage"
-                title="Lunr.Halo"
-                charset="UTF-8"
-                yui="true"
-                highlight="true"
                 lowUpperBound="35"
                 highLowerBound="70"/>
         <log    type="coverage-clover"
                 target="../build/logs/clover.xml"/>
         <log    type="junit"
-                target="../build/logs/junit.xml"
-                logIncompleteSkipped="false"/>
+                target="../build/logs/junit.xml"/>
     </logging>
 </phpunit>
diff --git a/tests/test.bootstrap.inc.php b/tests/test.bootstrap.inc.php
index 671a6081dc4538bfe41287308164456dd50d6b4f..825d6447bb63d5e0ee5d4d0be7f0393d9471fa29 100644
--- a/tests/test.bootstrap.inc.php
+++ b/tests/test.bootstrap.inc.php
@@ -5,12 +5,10 @@
  *
  * Set include path and initialize autoloader.
  *
- * @category   Loaders
- * @package    Tests
- * @subpackage Tests
- * @author     Heinz Wiesinger <heinz@m2mobi.com>
- * @copyright  2011-2018, M2Mobi BV, Amsterdam, The Netherlands
- * @license    http://lunr.nl/LICENSE MIT License
+ * @package   Lunr\Halo
+ * @author    Heinz Wiesinger <heinz@m2mobi.com>
+ * @copyright 2011-2018, M2Mobi BV, Amsterdam, The Netherlands
+ * @license   http://lunr.nl/LICENSE MIT License
  */
 
 $base = __DIR__ . '/..';
