Index: pyenvjasmine/tests/sample/browser.configfile.js
===================================================================
--- pyenvjasmine/tests/sample/browser.configfile.js	(revision 36)
+++ pyenvjasmine/tests/sample/browser.configfile.js	(revision 0)
@@ -6,5 +6,2 @@
 EnvJasmine.jsDir = EnvJasmine.testDir + "/code/";
 EnvJasmine.loadGlobal(EnvJasmine.includeDir + "jquery-1.4.4.js");
-EnvJasmine.loadGlobal(EnvJasmine.testDir + '/code/demo.js');
-EnvJasmine.loadGlobal(EnvJasmine.testDir + '/mocks/demo.mock.js');
-EnvJasmine.loadGlobal(EnvJasmine.testDir + '/tests/specs/test_demo.spec.js');
Index: pyenvjasmine/tests/sample/browser.configfile_no_mocks.js
===================================================================
--- pyenvjasmine/tests/sample/browser.configfile_no_mocks.js	(revision 36)
+++ 	(revision )
@@ -1,12 +1,0 @@
-// This file doesn't load the '/mocks/demo.mock.js' file to force some failures
-// in tests.
-// Add any files here that need to be loaded before all tests are run,
-// (e.g. third-party libraries, like jQuery)
-//
-// NOTE: Load order does matter.
-
-// This is your main JavaScript directory in your project.
-EnvJasmine.jsDir = EnvJasmine.testDir + '/code/';
-EnvJasmine.loadGlobal(EnvJasmine.includeDir + 'jquery-1.4.4.js');
-EnvJasmine.loadGlobal(EnvJasmine.testDir + '/code/demo.js');
-EnvJasmine.loadGlobal(EnvJasmine.testDir + '/tests/specs/test_demo.spec.js');
Index: pyenvjasmine/tests/test_runner.py
===================================================================
--- pyenvjasmine/tests/test_runner.py	(revision 42)
+++ pyenvjasmine/tests/test_runner.py	(revision 0)
@@ -1,12 +1,14 @@
+import unittest
 import os
 
-from pyenvjasmine.runner import Runner, get_environment
+from pyenvjasmine.runner import TestRunner
 
 
-class TestsRunnerRhino(object):
+class RunnerTests(unittest.TestCase):
+    def setUp(self):
+        pass
 
-    """
-    Run the full tests using the old rhino+jasmine1 env
-    """
+    def tearDown(self):
+        pass
 
     def test_runner_defaults(self):
@@ -14,9 +16,8 @@
         Test the runner, using default values (which wil run the demo specs)
         """
-        jstests = Runner(testing_environment='rhino')
-        success, stdout = jstests.run()
-        assert success
-        assert 'Failed: 0' in stdout
-        assert 'Passed: 5' in stdout
+        jstests = TestRunner()
+        output = jstests.run()
+        self.assertTrue('Failed: 0' in output)
+        self.assertTrue('Passed: 5' in output)
 
     def test_runner_params(self):
@@ -28,17 +29,18 @@
         conf_file = os.path.join(sample, 'configfile.js')
         envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
-        jstests = Runner(
-            testing_environment='rhino',
+        jstests = TestRunner(
             rootdir=envjasmine_dir,
             testdir=sample,
             configfile=conf_file,
         )
-        success, stdout = jstests.run(spec='tests/specs/test_demo.spec.js')
-        lines = stdout.splitlines()
-        assert lines[0].endswith('specs/test_demo.spec.js')
-        assert lines[1].startswith('[  Envjs/1.6 (Rhino;')
-        assert 'Passed: 4' in lines
-        assert 'Failed: 0' in lines
-        assert 'Total : 4' in lines
+        output = jstests.run(spec='tests/specs/test_demo.spec.js')
+        lines = output.splitlines()
+        self.assertTrue(lines[0].endswith('specs/test_demo.spec.js'),
+            "wrong output: %s" % str(output))
+        self.assertTrue(lines[1].startswith('[  Envjs/1.6 (Rhino;'),
+            "wrong output: %s" % str(output))
+        self.assertTrue('Passed: 4' in lines)
+        self.assertTrue('Failed: 0' in lines)
+        self.assertTrue('Total : 4' in lines)
 
     def test_write_browser_htmlfile_markup_is_correct(self):
@@ -50,6 +52,5 @@
         browser_conf_file = os.path.join(sample, 'browser.configfile.js')
         envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
-        jstests = Runner(
-            testing_environment='rhino',
+        jstests = TestRunner(
             rootdir=envjasmine_dir,
             testdir=sample,
@@ -57,11 +58,9 @@
         )
         expected = jstests.create_testRunnerHtml()
-        success, stdout = jstests.run(spec='tests/specs/test_demo.spec.js')
-        assert not success
-        assert 'Failed: 2' in stdout
+        jstests.run(spec='tests/specs/test_demo.spec.js')
         with open("browser.runner.html",'r') as file:
             actual = file.read()
-            assert expected == actual
-
+            self.assertEqual(expected, actual)
+        
     def test_runner_with_browser_configfile(self):
         """
@@ -72,13 +71,10 @@
         browser_conf_file = os.path.join(sample, 'browser.configfile.js')
         envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
-        jstests = Runner(
-            testing_environment='rhino',
+        jstests = TestRunner(
             rootdir=envjasmine_dir,
             testdir=sample,
             browser_configfile=browser_conf_file
         )
-        success, stdout = jstests.run(spec='tests/specs/test_demo.spec.js')
-        assert not success
-        assert 'Failed: 2' in stdout
+        jstests.run(spec='tests/specs/test_demo.spec.js')
 
     def test_get_environment(self):
@@ -88,124 +84,25 @@
         so monkey patching the old way.
         """
+        from pyenvjasmine.runner import get_environment
+        import os
         old_os_name = os.name
         try:
             os.name = 'nt'
             res = get_environment()
-            assert res == '--environment=WIN'
+            self.assertEqual(res, '--environment=WIN')
             os.name = 'posix'
             res = get_environment()
-            assert res == '--environment=UNIX'
+            self.assertEqual(res, '--environment=UNIX')
         finally:
             os.name = old_os_name
 
-    def test_did_test_pass(self):
-        # there is some coverage done with the previous tests,
-        # but we want to test also the case when a test failed
-        # and it does not appear in the "Failed:" report
-        jstests = Runner(testing_environment='rhino')
-        success = jstests.did_test_pass('')
-        assert not success
-        success = jstests.did_test_pass('some random data '*50)
-        assert not success
-        success = jstests.did_test_pass('some data FAILED some more data')
-        assert not success
-        success = jstests.did_test_pass('some data FAILEDsome more data')
-        assert not success
-        success = jstests.did_test_pass('Failed: 0')
-        assert success
-        success = jstests.did_test_pass('Failed: 0 FAILED')
-        assert not success
-        success = jstests.did_test_pass('FAILEDFailed: 0')
-        assert not success
-        success = jstests.did_test_pass('Failed: 0FAILED')
-        assert not success
-        success = jstests.did_test_pass('Failed: 1')
-        assert not success
-        success = jstests.did_test_pass('Failed: -11')
-        assert not success
-        success = jstests.did_test_pass('Failed: something-not-a-number')
-        assert not success
+    def test_not_capture_output(self):
+        """
+        Running a test without capturing output
+        """
+        jstests = TestRunner()
+        print '--- output expected ---'
+        output = jstests.run(capture_output=False)
+        print '--- end output expected ---'
+        self.assertEqual(output, None)
 
-class TestsRunnerPhantomjs(object):
-
-    """
-    Run the full tests using the phantom+jasmine3 env
-    """
-
-    def test_write_browser_htmlfile_markup_is_correct(self):
-        """
-        Test the created markup
-        The config file doesn't contain the mock files so jasmine tests
-        are expected to fail
-        """
-        here = os.path.dirname(__file__)
-        sample = os.path.join(here, 'sample')
-        browser_conf_file = os.path.join(sample, 'browser.configfile_no_mocks.js')
-        envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
-        jstests = Runner(
-            testing_environment='phantomjs',
-            rootdir=envjasmine_dir,
-            testdir=sample,
-            browser_configfile=browser_conf_file
-        )
-        expected = jstests.create_testRunnerHtml()
-        jstests.write_browser_htmlfile()
-        success, stdout = jstests.run()
-        assert not success
-        assert '2 test(s) FAILED:' in stdout
-        with open("browser.runner.html",'r') as file:
-            actual = file.read()
-            assert expected == actual
-
-    def test_runner_with_browser_configfile(self):
-        """
-        Test the runner, giving it some parameters incl the browser config file
-        The config file contains the mock files so jasmine tests are expected
-        to pass
-        """
-        here = os.path.dirname(__file__)
-        sample = os.path.join(here, 'sample')
-        browser_conf_file = os.path.join(sample, 'browser.configfile.js')
-        envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
-        jstests = Runner(
-            testing_environment='phantomjs',
-            rootdir=envjasmine_dir,
-            testdir=sample,
-            browser_configfile=browser_conf_file
-        )
-        success, stdout = jstests.run()
-        assert success
-        assert '0 failures' in stdout
-
-    def test_did_test_pass(self):
-        # there is some coverage done with the previous tests,
-        # but we want to test also the case when a test failed
-        # and it does not appear in the "Failed:" report
-        here = os.path.dirname(__file__)
-        sample = os.path.join(here, 'sample')
-        browser_conf_file = os.path.join(sample, 'browser.configfile.js')
-
-        jstests = Runner(
-            testing_environment='phantomjs',
-            browser_configfile=browser_conf_file
-        )
-        success = jstests.did_test_pass('')
-        assert not success
-        success = jstests.did_test_pass('some random data '*50)
-        assert not success
-        success = jstests.did_test_pass('some data FAILED some more data')
-        assert not success
-        success = jstests.did_test_pass('some data FAILEDsome more data')
-        assert not success
-        success = jstests.did_test_pass('0 failures')
-        assert success
-        success = jstests.did_test_pass('0 failures FAILED')
-        assert not success
-        success = jstests.did_test_pass('0Failed: failures')
-        assert not success
-        success = jstests.did_test_pass('1 test(s) FAILED:')
-        assert not success
-        success = jstests.did_test_pass('-11 test(s) FAILED:')
-        assert not success
-        success = jstests.did_test_pass('something-not-a-number test(s) FAILED:')
-        assert not success
