4
我正在第一次使用夾具模塊,試圖獲得一組更好的夾具數據,以便使我們的功能測試更加完整。用Python的夾具模塊生成夾具數據
我在找夾具模塊有點笨重,我希望有更好的方法來做我正在做的事情。這是一個Python 2.7中的Flask/SQLAlchemy應用程序,我們使用nose作爲測試運行器。
所以我有一套員工。員工有角色。有幾頁的權限相當複雜,我想確保這些頁面已經過測試。
我創造出了每種類型的角色的數據集(有一個在我們的應用程序大約15角色):
class EmployeeData(DataSet):
class Meta:
storable = Employee
class engineer:
username = "engineer"
role = ROLE_ENGINEER
class manager:
username = "manager"
role = ROLE_MANAGER
class admin:
username = "admin"
role = ROLE_ADMIN
什麼,我想要做的是寫一個功能測試,檢查只有合適的人可以訪問一個頁面。 (實際權限的方式比較複雜,我就是想要一個玩具例子給你看。)
事情是這樣的:
def test_only_admin_can_see_this_page():
for employee in Employee.query.all():
login(employee)
with self.app.test_request_context('/'):
response = self.test_client.get(ADMIN_PAGE)
if employee.role == ROLE_ADMIN
eq_(200, response.status_code)
else:
eq_(401, response.status_code)
logout(employee)
有沒有辦法讓我的開發者不會產生夾具數據每次添加角色時都必須記得在燈具中添加一條線?我們將所有角色的規範列表作爲應用程序中其他位置的配置,因此我擁有該配置。
我並不喜歡這個或夾具模塊,所以我很樂意聽到建議!
你有沒有想出一個好方法呢? – Eli