gpt4 book ai didi

具有多个测试客户端的 django-webtest

转载 作者:行者123 更新时间:2023-11-28 20:56:03 28 4
gpt4 key购买 nike

django-webtest ,每个测试 TestCase 子类都带有 self.app,它是 webtest.TestApp 的一个实例,然后我可以通过 self.app.get('/',user='A') 让它以用户 A 登录。

但是,如果我想在测试中同时测试用户A和用户B的行为,我应该怎么做呢?

似乎 self.app 只是传入了 extra_environ 的 DjangoTestApp()。只创建它的另一个实例是否合适?

最佳答案

我没有尝试按照您的建议设置另一个 DjangoTestApp 实例,但我编写了复杂的测试,在以用户 A 身份发出请求后,我切换为以用户 B 身份发出请求,没有问题,在每种情况下,在发出请求时都会传递用户或用户名,例如self.app.get('/', user'A') 正如您已经编写的那样。

唯一没有按预期工作的部分是在发出未经身份验证的请求时,例如self.app.get('/', user=None)。这没有按预期工作,而是继续使用紧接在此请求之前的请求中的用户。

要重置应用程序状态(这应该允许您以顺序方式模拟多个用户的大多数工作流),您可以运行 self.renew_app() 这将刷新您的应用程序状态,有效地记录当前用户退出。

要测试多个用户的同时访问(您的问题没有具体说明您要测试的内容),然后设置另一个 DjangoTestApp 实例似乎值得探索。

关于具有多个测试客户端的 django-webtest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18333028/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com