diff --git a/tests/BaseTestClasses.py b/tests/BaseTestClasses.py
index 6abcbd0..ff15de1 100644
--- a/tests/BaseTestClasses.py
+++ b/tests/BaseTestClasses.py
@@ -96,7 +96,7 @@ class Email2PDFTestCase(unittest.TestCase):
 
         self.msg['Date'] = formatdate()
 
-    def invokeAsSubprocess(self, inputFile=False, outputDirectory=None, outputFile=None, extraParams=[]):
+    def invokeAsSubprocess(self, inputFile=False, outputDirectory=None, outputFile=None, extraParams=[], expectOutput=False):
         bytesMessage = self.msg.as_bytes()
 
         options = [Email2PDFTestCase.COMMAND]
@@ -135,7 +135,10 @@ class Email2PDFTestCase(unittest.TestCase):
         output = str(output, "utf-8")
         error = str(error, "utf-8")
 
-        self.assertEqual("", output)
+        if expectOutput:
+            self.assertNotEqual("", output)
+        else:
+            self.assertEqual("", output)
 
         if inputFile:
             inputFile_handle.close()
diff --git a/tests/test_Subprocess_Basic.py b/tests/test_Subprocess_Basic.py
index bf14836..4c3ab78 100644
--- a/tests/test_Subprocess_Basic.py
+++ b/tests/test_Subprocess_Basic.py
@@ -11,6 +11,17 @@ class TestBasic(BaseTestClasses.Email2PDFTestCase):
         super(TestBasic, self).setUp()
         self.msg = Message()
 
+    def test_help(self):
+        (rc, output, error) = self.invokeAsSubprocess(extraParams=['--help'], expectOutput=True)
+        self.assertEqual(0, rc)
+        self.assertRegex(output, 'usage:')
+        self.assertEqual(error, '')
+
+    def test_invalid_option(self):
+        (rc, output, error) = self.invokeAsSubprocess(extraParams=['--invalid-option'])
+        self.assertEqual(2, rc)
+        self.assertRegex(error, 'ERROR: unrecognized.*')
+
     def test_dontPrintBody(self):
         (rc, output, error) = self.invokeAsSubprocess(extraParams=['--no-body'])
         self.assertEqual(1, rc)