在python unittest

时间:2017-03-12 20:47:14

标签: python python-2.7 unit-testing python-unittest

我对Python中的unittest完全不熟悉,如果这是一个noob问题,那就很抱歉。

我有一个Customer类:

class Customer(object):

    def __init__(self, name, clubMember, taxExempt):
        self.name = name
        self.clubMember = clubMember
        self.taxExempt = taxExempt

    def isClubMember(self):
        if (self.clubMember == True):
            return True
        else:
            return False

    def isTaxExempt(self):
        if (self.taxExempt == True):
            return True
        else:
            return False

我想用一种模拟客户测试它:

import unittest
import Customer 

class TestCustomer(unittest.TestCase):
    def setUp(self):
        self.customer = Customer("John Doe", True, False)

    def test_customer_member_status(self):
        self.assertTrue(self.customer.isClubMember(), 'incorrect member status')

    def test_customer_tax_exemption(self):
        self.assertFalse(self.customer.isTaxExempt(), 'incorrect tax status')

    def tearDown(self):
        self.customer.dispose()

但是,我收到以下错误:

self.customer = Customer("John Doe", True, False)
TypeError: 'module' object is not callable

我试图搜索许多不同的网站,但我找不到正确的格式来创建模拟客户。另外,我不确定如何创建多个模拟客户来测试另一个例子,例如Customer(“Jane Doe”,False,True)等。

1 个答案:

答案 0 :(得分:0)

我猜您的模块名称也是Customer,当您执行import Customer时,它正在导入模块而不是类。

改为

from Customer import Customer 

in test moudle。