0
我對Python中的unittest完全陌生,所以很抱歉,如果這是一個noob問題。在python unittest中創建模擬對象
我有一個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
我試圖搜索許多不同的網站,但我無法找到正確的格式來創建模擬客戶。此外,我不知道如何創建多個模擬客戶來測試另一個例子,如客戶(「Jane Doe」,False,True)等。
您是否在'Customer.py'中定義了'Customer'類?如果是這樣,您需要將您的測試文件中的導入更改爲'from Customer import Customer' –
您可以顯示您的目錄結構嗎?您的文件是否包含名爲'Customer.py'的Customer類?如果是這樣,你可能需要'從客戶導入客戶'。儘管如此,這不是真的關於嘲笑!你絕對*不想*嘲笑'客戶',因爲這是你正在測試的東西! –