diff --git a/tests/integration/full/full_test_advisory.py b/tests/integration/full/full_test_advisory.py
index b432370f7f5e14348e987e06e9d5d30237efff29..a2cc5c7b3d7cfc4448f3852283430ab1a963b6a4 100644
--- a/tests/integration/full/full_test_advisory.py
+++ b/tests/integration/full/full_test_advisory.py
@@ -1,8 +1,9 @@
-import argparse
 import copy
 import os
 import sys
-import unittest
+from unittest import TestSuite, TestLoader
+
+from HtmlTestRunner import HTMLTestRunner
 
 from integration.partial.integration_test_utils import IntegrationTestUtils
 from integration.test_suites.advisory_test_suite import BaseAdvisoryTestSuite
@@ -40,11 +41,13 @@ class FullTestAdvisory(BaseAdvisoryTestSuite.AdvisoryTestSuite):
         run_dict['Environment']['WORK_PATH'] = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH
         run_dict['Environment']['INPUT_PATH'] = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH
         run_dict['Environment']['OUTPUT_PATH'] = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH
+
         #make sure we activate server download
         run_dict['Survey']['SkipServerDownload'] = False
-        survey_cred_file: str = run_dict['Survey']['ServerCredentialsFile']
+
+        # survey_cred_file: str = run_dict['Survey']['ServerCredentialsFile']
         # run_dict['Survey']['ServerCredentialsFile'] = survey_cred_file.replace("Cred-ODK-EIAR.json", "Cred-ODK-EIAR-NO-WRSIS.json")
-        run_dict['Survey']['FormEdits'].pop('WRSIS', None)
+        # run_dict['Survey']['FormEdits'].pop('WRSIS', None)
 
         # may be reusing a non-timestamped output file during development, so allow extant TEST_OUT_PATH
         os.makedirs(BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH, exist_ok = True)
@@ -74,18 +77,14 @@ class FullTestAdvisory(BaseAdvisoryTestSuite.AdvisoryTestSuite):
 
 
 if __name__ == '__main__':
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--config', required = True)
-    parser.add_argument('--outdir', required = True)
-    parser.add_argument('--email_cred', required = True)
-    parser.add_argument('--run_date_type', required = False)
-    parser.add_argument('--custom_run_date', required = False)
-    parser.add_argument('unittest_args', nargs='*')
-
-    _args = parser.parse_args()
+
+    _parser = IntegrationTestUtils.build_arg_parser()
+
+    _args = _parser.parse_args()
     _config_file: str = _args.config
     _outdir: str = _args.outdir
     _email_cred_path: str = _args.email_cred
+    _test_report_dir: str = _args.test_report_dir
     _run_date_type: str = _args.run_date_type
     _custom_run_date: str = _args.custom_run_date
 
@@ -103,4 +102,10 @@ if __name__ == '__main__':
 
     #  Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone)
     sys.argv[1:] = _args.unittest_args
-    unittest.main()
+    tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestAdvisory)
+
+    if _test_report_dir is None:
+        _test_report_dir = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_JOB_DIR
+
+    runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True)
+    runner.run(tests)
diff --git a/tests/integration/full/full_test_deposition.py b/tests/integration/full/full_test_deposition.py
index d22bf4d85b5a3a2ed46af37cbd20fecd5b2ccf9d..01f38378309b99001b5b950cef063168a268ee6a 100644
--- a/tests/integration/full/full_test_deposition.py
+++ b/tests/integration/full/full_test_deposition.py
@@ -1,8 +1,6 @@
-import argparse
 import copy
 import os
 import sys
-import unittest
 from unittest import TestLoader, TestSuite
 
 from HtmlTestRunner import HTMLTestRunner
@@ -24,9 +22,8 @@ class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite):
 
         self.set_expected_values()
 
-        # if BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH is None \
-        #         or not os.path.isdir(BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH):
-        if True:
+        if BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH is None \
+                or not os.path.isdir(BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH):
             FullTestDeposition.write_temp_run_config_file()
             FullTestDeposition.run_depo_pipeline()
         else:
@@ -57,16 +54,10 @@ class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite):
 
 
 if __name__ == '__main__':
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--config', required = True)
-    parser.add_argument('--outdir', required = True)
-    parser.add_argument('--email_cred', required = True)
-    parser.add_argument('--test_report_dir', required = False)
-    parser.add_argument('--run_date_type', required = False)
-    parser.add_argument('--custom_run_date', required = False)
-    parser.add_argument('unittest_args', nargs='*')
-
-    _args = parser.parse_args()
+
+    _parser = IntegrationTestUtils.build_arg_parser()
+
+    _args = _parser.parse_args()
     _config_file: str = _args.config
     _outdir: str = _args.outdir
     _email_cred_path: str = _args.email_cred
diff --git a/tests/integration/full/full_test_env_suit.py b/tests/integration/full/full_test_env_suit.py
index e8e3ff3a1abe63f08370f0ac55352f6de0a3a9d4..66d236585930846ae42afd94665cf793b0a32007 100644
--- a/tests/integration/full/full_test_env_suit.py
+++ b/tests/integration/full/full_test_env_suit.py
@@ -4,8 +4,12 @@ import glob
 import os
 import sys
 import unittest
+from unittest import TestSuite, TestLoader
+
+from HtmlTestRunner import HTMLTestRunner
 
 from integration.partial.integration_test_utils import IntegrationTestUtils
+from integration.test_suites.depo_test_suite import BaseDepoTestSuite
 from integration.test_suites.env_suit_test_suite import BaseEnvSuitTestSuite
 
 
@@ -54,18 +58,14 @@ class FullTestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite):
 
 
 if __name__ == '__main__':
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--config', required = True)
-    parser.add_argument('--outdir', required = True)
-    parser.add_argument('--email_cred', required = True)
-    parser.add_argument('--run_date_type', required = False)
-    parser.add_argument('--custom_run_date', required = False)
-    parser.add_argument('unittest_args', nargs='*')
-
-    _args = parser.parse_args()
+
+    _parser = IntegrationTestUtils.build_arg_parser()
+
+    _args = _parser.parse_args()
     _config_file: str = _args.config
     _outdir: str = _args.outdir
     _email_cred_path: str = _args.email_cred
+    _test_report_dir: str = _args.test_report_dir
     _run_date_type: str = _args.run_date_type
     _custom_run_date: str = _args.custom_run_date
 
@@ -83,4 +83,10 @@ if __name__ == '__main__':
 
     #  Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone)
     sys.argv[1:] = _args.unittest_args
-    unittest.main()
+    tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestEnvSuit)
+
+    if _test_report_dir is None:
+        _test_report_dir = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR
+
+    runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True)
+    runner.run(tests)
diff --git a/tests/integration/full/full_test_epi.py b/tests/integration/full/full_test_epi.py
index 4719867d001058ab607cae3b7a9ae8acf4c6f2c8..d595c6cea546a057f22cfe84ff300ad3bb1ed304 100644
--- a/tests/integration/full/full_test_epi.py
+++ b/tests/integration/full/full_test_epi.py
@@ -3,6 +3,9 @@ import copy
 import os
 import sys
 import unittest
+from unittest import TestSuite, TestLoader
+
+from HtmlTestRunner import HTMLTestRunner
 
 from integration.partial.integration_test_utils import IntegrationTestUtils
 from integration.test_suites.epi_test_suite import BaseEpiTestSuite
@@ -81,18 +84,14 @@ class FullTestEpi(BaseEpiTestSuite.EpiTestSuite):
 
 
 if __name__ == '__main__':
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--config', required = True)
-    parser.add_argument('--outdir', required = True)
-    parser.add_argument('--email_cred', required = True)
-    parser.add_argument('--run_date_type', required = False)
-    parser.add_argument('--custom_run_date', required = False)
-    parser.add_argument('unittest_args', nargs='*')
-
-    _args = parser.parse_args()
+
+    _parser = IntegrationTestUtils.build_arg_parser()
+
+    _args = _parser.parse_args()
     _config_file: str = _args.config
     _outdir: str = _args.outdir
     _email_cred_path: str = _args.email_cred
+    _test_report_dir: str = _args.test_report_dir
     _run_date_type: str = _args.run_date_type
     _custom_run_date: str = _args.custom_run_date
 
@@ -110,4 +109,10 @@ if __name__ == '__main__':
 
     #  Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone)
     sys.argv[1:] = _args.unittest_args
-    unittest.main()
+    tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestEpi)
+
+    if _test_report_dir is None:
+        _test_report_dir = BaseEpiTestSuite.EpiTestSuite.TEST_JOB_DIR
+
+    runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True)
+    runner.run(tests)
diff --git a/tests/integration/full/full_test_survey.py b/tests/integration/full/full_test_survey.py
index f28a8d5466ba81e7fa3659745a598657e8ae5acc..9aafa784158a1e28d059089e66e61f0fa082cfc0 100644
--- a/tests/integration/full/full_test_survey.py
+++ b/tests/integration/full/full_test_survey.py
@@ -3,6 +3,9 @@ import copy
 import os
 import sys
 import unittest
+from unittest import TestSuite, TestLoader
+
+from HtmlTestRunner import HTMLTestRunner
 
 from integration.partial.integration_test_utils import IntegrationTestUtils
 from integration.test_suites.survey_test_suite import BaseSurveyTestSuite
@@ -49,18 +52,14 @@ class FullTestSurvey(BaseSurveyTestSuite.SurveyTestSuite):
 
 
 if __name__ == '__main__':
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--config', required = True)
-    parser.add_argument('--outdir', required = True)
-    parser.add_argument('--email_cred', required = True)
-    parser.add_argument('--run_date_type', required = False)
-    parser.add_argument('--custom_run_date', required = False)
-    parser.add_argument('unittest_args', nargs='*')
-
-    _args = parser.parse_args()
+
+    _parser = IntegrationTestUtils.build_arg_parser()
+
+    _args = _parser.parse_args()
     _config_file: str = _args.config
     _outdir: str = _args.outdir
     _email_cred_path: str = _args.email_cred
+    _test_report_dir: str = _args.test_report_dir
     _run_date_type: str = _args.run_date_type
     _custom_run_date: str = _args.custom_run_date
 
@@ -78,4 +77,10 @@ if __name__ == '__main__':
 
     # Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone)
     sys.argv[1:] = _args.unittest_args
-    unittest.main()
+    tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestSurvey)
+
+    if _test_report_dir is None:
+        _test_report_dir = BaseSurveyTestSuite.SurveyTestSuite.TEST_JOB_DIR
+
+    runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True)
+    runner.run(tests)
diff --git a/tests/integration/partial/integration_test_utils.py b/tests/integration/partial/integration_test_utils.py
index 6c785a536e00e547d2345c4c1bc0caf16eae4a78..339148fe0c28f4fc4587aa4842d740ef53c27ba7 100644
--- a/tests/integration/partial/integration_test_utils.py
+++ b/tests/integration/partial/integration_test_utils.py
@@ -1,3 +1,4 @@
+import argparse
 import datetime
 import glob
 import json
@@ -19,6 +20,18 @@ class IntegrationTestUtils:
     EXAMPLE_DEPO_FILE_PATH: str = TEST_ASSETS_PATH + "example_depo_run.zip"
     EXAMPLE_ENV_SUIT_FILE_PATH: str = TEST_ASSETS_PATH + "example_env_suit_run.zip"
 
+    @staticmethod
+    def build_arg_parser() -> argparse.ArgumentParser:
+        parser = argparse.ArgumentParser()
+        parser.add_argument('--config', required = True)
+        parser.add_argument('--outdir', required = True)
+        parser.add_argument('--email_cred', required = True)
+        parser.add_argument('--test_report_dir', required = False)
+        parser.add_argument('--run_date_type', required = False)
+        parser.add_argument('--custom_run_date', required = False)
+        parser.add_argument('unittest_args', nargs='*')
+        return parser
+
     @staticmethod
     def load_json_file(file: str) -> dict:
         with open(file) as config_file: