擅长:python、mysql、java
<p>我不太喜欢显示的其他解决方案,主要是因为您必须将密码保存在一个单元测试文件中(我使用的是Flask LDAP登录,所以添加一个虚拟用户是不明显的,等等),所以我绕过了它:</p>
<p>在我设置测试应用程序的地方,我添加了:</p>
<pre><code>@app.route('/auto_login')
def auto_login():
user = ( models.User
.query
.filter_by(username="Test User")
.first() )
login_user(user, remember=True)
return "ok"
</code></pre>
<p>但是,我对flask应用程序的测试实例做了很多更改,比如使用不同的DB,在这里构造它,所以添加路由并不会使代码明显混乱。Obv实际应用程序中不存在此路由。</p>
<p>然后我会:</p>
<pre><code>def login(self):
response = self.app.test_client.get("/auto_login")
</code></pre>
<p>之后使用<code>test_client</code>执行的任何操作都应登录。</p>