нужно ваше понимание:
В моей собственной настройке теста (init_setup) мне нужно вызвать другой тест, который уже определен в классе Test_Create_Inventory (). Проблема в том, что у этого класса есть фиксатор (init_api), который возвращает массив функций apis.
В init_setup: в строке inventory.test_post_inventory_data () я получил, что объект 'method' не является подписываемым, потому что внутри он вызывает api объекта следующим образом: init_api ["networkAPI"]. PostJsonData (...)
Как мне заставить это работать, если мне не разрешено удалять фиксатор init_api () из этого класса? Я знаю, что смогу заставить его работать, с помощью полной фиксации избавления init_api, переместить его код прямо в test_post_inventory_data ().
Спасибо!
Мои собственные настройки:
@pytest.fixture(scope="class", autouse=True)
def init_setup(self, get_tenantid, api_client, read_test_data):
#import Test_Create_Inventory class here
inventory = Test_Create_Inventory()
inventory.test_post_inventory_data(read_test_data, inventory.init_api)
# this class is defined in another file
class Test_Create_Inventory():
@pytest.fixture
def init_api(self, api_client):
self.networkAPI = NetworkAPI(api_client)
self.sitesAPI = SitesApi(api_client)
return {"networkAPI": self.networkAPI, "sitesAPI": self.sitesAPI}
def test_post_inventory_data(self, read_test_data, init_api):
...
init_api["networkAPI"].postJsonData(json.dumps(data))