假设我有一个类:
class SqlUtil(object):
def __init__(self):
self.conn = pymysql.connect(......)
def method_1(self)
def method_2(self)
def method_3(self)
def method_4(self)
def method_5(self)
def method_6(self)
def method_7(self)
def method_8(self)
def method_9(self)
我需要测试这个类的每一个方法。那么问题来了,如果我的测试代码这样写,我每一个测试案例都需要实例化这个类,那么就要连接很多次数据库。
TestSql(object):
def test_method1(self):
ins = SqlUtil()
result = ins.method_1()
assert result == 1
如果其中的只有 method_1~7 需要使用数据库连接,method_8, method_9 实际上不需要数据库,我初始化被测试类,就白白浪费了数据库连接。
所以请问,这种场景下,是否只初始化 1 次被测试类会更好?
如果被测试的方法需要向数据库写入数据,那么 MySQL 的写入操作是 mock 一下更好,还是真的需要读取 MySQL 来确定数据是否真的写入成功了?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.