Python se moquer de Patch os.environ et valeur de retour

Tests unitaires conn() à l'aide de maquette:

app.py

import mysql.connector
import os,urlparse

def conn():
  if 'DATABASE_URL' in os.environ:
     url=urlparse(os.environ['DATABASE_URL'])
     g.db = mysql.connector.connect(user=url.username,password=url.password, host=url.hostname,database=url.path[1:])
  else mysql.connector.error.Errors as err:
     return "Error

test.py

def test_conn(self):
 with patch(app.mysql.connector) as mock_mysql:
   with patch(app.os.environ) as mock_environ
   con()
   mock_mysql.connect.assert_callled_with("credentials")

Erreur: Affirmation mock_mysql.connect.assert_called_with n'est pas appelé.

qui, je crois, c'est parce que "Database_url" n'est pas dans mon corrigé os.environ et en raison de cet appel d'essai n'est pas fait pour mysql_mock.connectez.

Questions:

1 quels sont les changements que je dois faire pour faire ce test de code de travail?

2.Dois-je également patch 'urlparse'?

OriginalL'auteur immrsteel | 2015-07-23