Je reçois cette erreur pendant que j'essaie d'exécuter le cas de test unitaire en utilisant pytest. Cela fonctionne correctement dans mon projet mais génère une erreur lors de l'exécution du scénario de test.TransactionManagementError: Ceci est interdit lorsqu'un bloc 'atomic' est actif pendant l'exécution de cas de test unitaires
Mon code est le suivant:
def saveEvents(request, request_data):
transaction.set_autocommit(autocommit=False)
try:
# here is my code
except Exception as inst:
transaction.rollback()
# code
transaction.commit()
return something
J'ai lu toutes les solutions de ce type de questions, mais je suis perplexe pourquoi sa ne fonctionne pas avec pytest. S'il vous plaît aider.
bonjour, j'ai essayé vos suggestions, @ pytest.mark.django_db (transaction = True), son ne fonctionne pas, en utilisant avec transaction.atomic() fonctionne bien, mais pourquoi transaction.set_autocommit (autocommit = False) n'est pas travailler avec pytest? –
Je ne peux pas dire pourquoi cela ne fonctionne pas à partir des informations que vous avez données. – Alasdair
Ok, merci pour vos suggestions. –