获取Unittest与其他测试共享类实例

2024-05-15 10:04:17 发布

您现在位置:Python中文网/ 问答频道 /正文

如何让“getWorkSheet”与“getFileData”共享相同的单元测试? Unittest运行安装程序两次。我是TDD新手,似乎找不到关于在Google上共享类实例的东西

import unittest
from workSq.convertToMonths import convertToMonths

class convertToMonthsUnittest(unittest.TestCase):

    def setUp(self):
        unittest.TestCase.setUp(self)
        print('In setUp()')
        self.c2m = convertToMonths()

    def test_getFileData(self):
        testDataRaw = self.c2m.getFileData("exampleFile/sq.xlsx")
        if str(testDataRaw)[:6]=="[Errno":
            testDataRaw = ""
        self.assertNotEqual(testDataRaw, "")

    def test_getWorkSheet(self):
        sheet = self.c2m.getWorkSheet('Schedule')
        print sheet


workSq.convertToMonths类

import openpyxl as pxl
from openpyxl.shared.exc import InvalidFileException
import sys
class convertToMonths():

    def __init__(self):
        self.workBook =""
    def getFileData(self,filename):
        try:
            self.workBook = pxl.load_workbook(filename)
        except InvalidFileException as e:
            return e
        return self.workBook

    def getWorkSheet(self,sheetName):
        print self.workBook
        sheet = self.workBook.get_sheet_by_name(sheetName)
        return sheet

Tags: fromimportselfreturndefsetupunittestsheet