Đơn vị kiểm tra conn() sử dụng mô hình:Python patch giả os.environ và giá trị trả
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")
Lỗi: Assertionmock_mysql.connect.assert_called_with
không được gọi.
mà tôi tin rằng đó là vì 'Database_url' không nằm trong os.environ được vá của tôi và vì cuộc gọi thử nghiệm đó không được thực hiện cho mysql_mock.connect.
Câu hỏi:
1 những thay đổi nào tôi cần thực hiện để làm cho mã kiểm tra này hoạt động?
2.Tôi có phải vá 'urlparse' không?
Cảm ơn người đàn ông, tôi nhận ra nó sau này và chẳng bao lâu sau khi xóa comment.Thanks tôi rất nhiều nó đang làm việc nhưng tôi bối rối rằng việc sử dụng phương pháp nêu trên như thế nào { 'mytemp': 'mytemp'} nhận được thông qua vào os.environ – immrsteel
Cảm ơn rất nhiều, tôi đã chấp nhận câu trả lời và sẽ upvote câu trả lời khi tôi sẽ có 15 danh tiếng. – immrsteel
@immrsteel ur welcome :) – vks