1

Flask アプリにテスト フィクスチャがあり、開発サーバーを起動してユーザー インタラクションをテストします。最初のテストでは、サーバーが稼働していることを確認したいと思います。一般的に(特定の応答コードをテストせずに)これを行う最良の方法は何ですか? 使えself.assertTrue(response)たらいいなと思っていたのですが、ポートを変えても通じるようです。

問題のテストケースは次のとおりです。

class TestAuth(TestCase):

    def create_app(self):
        db.init_app(app)
        return app

    @classmethod
    def setUpClass(cls):
        cls.server_proc = subprocess.Popen(
            [sys.executable, 'run.py'],
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT)
        time.sleep(5)

    @classmethod
    def TearDownLcass(cls):
        os.kill(cls.server_proc.pid, signal.SIGINT)

    def setUp(self):
        selenium_logger = logging.getLogger(
            'selenium.webdriver.remote.remote_connection')
        selenium_logger.setLevel(logging.WARN)
        self.browser = webdriver.Firefox()

        db.create_all()

    def tearDown(self):
        db.session.remove()
        db.drop_all()
        self.browser.quit()

    def test_server_up(self):
        response = self.client.get('http://localhost:5000/')
        self.assertTrue(response)
4

2 に答える 2

2

Requestsを使用して、自分自身または urllib2 にリクエストを送信できます。開発サーバーを起動し、ip:port を指す別のインスタンスからリクエストを行います。

于 2013-08-30T18:29:59.990 に答える