0

我在 python 3 中为烧瓶进行自动化测试时遇到问题。我尝试过 unittest、pytests、nosetests,但我仍然不知道如何为烧瓶应用程序形成自动化测试。

以下是我使用 unittest 和 pytest
unittest 编写的代码:

import unittest
from flaskfolder import flaskapp

class FlaskBookshelfTests(unittest.TestCase): 

    @classmethod
    def setUpClass(cls):
            pass 

    @classmethod
    def tearDownClass(cls):
            pass 

    def setUp(self):
            # creates a test client
            self.flaskapp = flaskapp.test_client()
            # propagate the exceptions to the test client
            self.flaskapp.testing = True

    def tearDown(self):
            pass

    def test1(self):
            result = self.flaskapp.get('/')

            self.assertEqual(result.status_code, 200) 

在这段代码中,我遇到错误,flaskapp 没有任何 test_client() 函数。
pytest:

import pytest
from flaskfolder import flaskapp
@pytest.fixture
def client():
    db_fd, flaskapp.app.config['DATABASE'] = tempfile.mkstemp()
    flaskapp.app.config['TESTING'] = True

    with flaskapp.app.test_client() as client:
            with flaskapp.app.app_context():
                    flaskapp.init_db()
            yield client

    os.close(db_fd)
    os.unlink(flaskapp.app.config['DATABASE'])
def test1():
    result = client.get('/')

    assert result.data in 'Hello World'

在这个错误中,收到“'function'没有任何属性get”,如果完成:def test1(client)它会给出一个错误,即flaskapp没有任何属性init_db。

4

1 回答 1

0

因为客户端是一个 pytest 夹具,您需要将它作为参数包含在您的测试中,所以这应该可以解决您当前的问题

def test1(client):
    result = client.get('/')

    assert result.data in 'Hello World'
于 2020-06-04T17:08:05.077 回答