From f06adb064dfc19c2339a7edcac6b0aca1de6306e Mon Sep 17 00:00:00 2001 From: debugtalk Date: Tue, 20 Jun 2017 14:22:52 +0800 Subject: [PATCH] move api_server start and terminate to class method in order to start api_server only once --- test/test_apiserver.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/test/test_apiserver.py b/test/test_apiserver.py index 14320ab0..9aef84ac 100644 --- a/test/test_apiserver.py +++ b/test/test_apiserver.py @@ -8,19 +8,26 @@ class TestApiServer(unittest.TestCase): """ Test case class that sets up an HTTP server which can be used within the tests """ - def setUp(self): - super(TestApiServer, self).setUp() - self.api_server_process = multiprocessing.Process( + @classmethod + def setUpClass(cls): + cls.api_server_process = multiprocessing.Process( target=api_server.app.run ) - self.api_server_process.start() + cls.api_server_process.start() time.sleep(0.1) + + @classmethod + def tearDownClass(cls): + cls.api_server_process.terminate() + + def setUp(self): + super(TestApiServer, self).setUp() self.host = "http://127.0.0.1:5000" self.api_client = requests.Session() + self.clear_users() def tearDown(self): super(TestApiServer, self).tearDown() - self.api_server_process.terminate() def clear_users(self): url = "%s/api/users" % self.host