diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 782494a5d52cc499d62054ea66255ed3c7df9dc0..ad541ff8bf7c8c67c079f9a26227a2e1b282012b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,6 +27,7 @@ linting:
   stage: test
   script:
   - flake8 refscrub
+  - flake8 tests
 
 python3.6:
   image: python:3.6
diff --git a/tests/test_data/020000005_0036EE80 b/tests/test_data/020000005_0036EE80
new file mode 100755
index 0000000000000000000000000000000000000000..39a43f34b818072f4a1ddff7b0f8b2997994d8fa
Binary files /dev/null and b/tests/test_data/020000005_0036EE80 differ
diff --git a/tests/test_data/scrubsum_test.txt b/tests/test_data/scrubsum_test.txt
new file mode 100644
index 0000000000000000000000000000000000000000..866f43400361faf76981375916a92463b2493729
--- /dev/null
+++ b/tests/test_data/scrubsum_test.txt
@@ -0,0 +1,8 @@
+tests/test_data/020000005_0036EE80, 020000005_0036EE80
+OFFSET:      2478080
+    OF:      2478080
+Good packets: 2420 =     2.36MB
+IOErrors: 0
+     SN: YR:DAY:HR -- YR:DAY:HR : Good Packets
+   91F5: 16:100:02 -- 16:100:02 :         2420
+
diff --git a/tests/test_refscrub.py b/tests/test_refscrub.py
index 56529bb82f365b4239220491f8367b26e92d322d..c9920728833fc616d91d89943132f55d564c4551 100644
--- a/tests/test_refscrub.py
+++ b/tests/test_refscrub.py
@@ -3,22 +3,46 @@
 
 """Tests for `refscrub` package."""
 
+import argparse
+import os
 import unittest
-import sys
 
-try:
-    import refscrub
-except ImportError:
-     pass
+from unittest.mock import patch
+from refscrub.refscrub import main
+
+TEST_DATA = "tests/test_data/020000005_0036EE80"
+TEST_SUMMARY = "tests/test_data/scrubsum_test.txt"
+
+if os.path.isfile('scrubsum.txt'):
+    os.remove('scrubsum.txt')
+
 
 class TestRefscrub(unittest.TestCase):
     """Tests for `refscrub` package."""
 
-    def setUp(self):
-        """Set up test fixtures, if any."""
-
-    def tearDown(self):
-        """Tear down test fixtures, if any."""
+    @patch('refscrub.refscrub.sys.exit', autospec=True)
+    @patch('argparse.ArgumentParser.parse_args', autospec=True)
+    def test_refscrub(self, mock_parser, mock_exit):
+        """Test basic functionality of refscrub"""
+        mock_parser.return_value = argparse.Namespace(EXTRACT=False,
+                                                      PREFIX=None,
+                                                      SUMMARY=False,
+                                                      VERBOSE=False,
+                                                      infile=[])
+        main()
+        self.assertTrue(mock_exit.called, "sys.exit(1) never called - Failed "
+                        "to exercise refscrub")
 
-    def test_import(self):
-        self.assertTrue('refscrub' in sys.modules, "Refscrub import failed!")
+        mock_parser.return_value = argparse.Namespace(EXTRACT=False,
+                                                      PREFIX=None,
+                                                      SUMMARY=True,
+                                                      VERBOSE=False,
+                                                      infile=[TEST_DATA])
+        main()
+        self.assertTrue(os.path.isfile('scrubsum.txt'), "Error! Summary file "
+                        "not created.")
+        with open("scrubsum.txt", "rt") as f_out:
+            out = f_out.readlines()
+        with open(TEST_SUMMARY, "rt") as f_test:
+            test = f_test.readlines()
+        self.assertEqual(out, test)
diff --git a/tox.ini b/tox.ini
index 90a1bcaedb744359310e321f0e074a66af3055de..9ff41874c14ef7ed806c09586cece3179e66d10e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,6 +5,7 @@ envlist = py36, py37, py38, flake8
 basepython = python
 deps = flake8
 commands = flake8 refscrub
+           flake8 tests
 
 [testenv]
 commands = python -m unittest