我编写了一些python代码,它已经用正确的结果更新了数据库。我想使用一些模拟数据,并能够测试此代码的每一行和边。我已经在课堂上学习了一些用于测试java的概念,但是我不知道如何为python做这些,并且没有真正掌握编写好测试的概念。我已经为我要测试的东西添加了我的代码。如果有人请解释我如何测试这个代码将是伟大的。我自己添加了一些测试代码,但我不知道它是对还是错。我已经在线研究过帮助我,但是大部分文档都是关于非常简单的函数,而不是类似于我的代码,所以不太确定应该如何完成。
我的代码:
import sys
import os
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir))
import mySqlConnector
database = mySqlConnector.mySqlConnector(1, 2014)
result = database.getUserPicksWithSeed()
updatedUsers = dict()
for row in result:
id = row["userID"]
if id not in updatedUsers:
updatedUsers[id] = 0
seed1 = row["seed1"]
seed2 = row["seed2"]
if seed1 > seed2:
pointField = seed1 - seed2
else:
pointField = seed2 - seed1
if pointField < 5:
pointField = pointField * 0.75
upsetHappened = row["upsetHappened"]
if not (upsetHappened == 1):
pointField = pointField / (-3)
updatedUsers[id] += pointField
for key, value in updatedUsers.items():
database.updateUserScoreById(key, value)
测试代码(到目前为止):
import os.path, sys
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir))
import mySqlConnector
import pytest
database = mySqlConnector.mySqlConnector(1, 2014)
users = {
'USERID' : 1,
'USERID2' : 2,
'USERID3' : 3
}
seeds = {
'seed1_1' : 1,
'seed1_2' : 8,
'seed1_3' : 7,
'seed2_1' : 16,
'seed2_2' : 9,
'seed3_2' : 4
}