我正在为我正在开发的Web应用程序提供一套Selenium驱动的功能测试。我最近与Spring Security集成,作为处理身份验证的一种方法。现在,我的所有功能测试都失败了,因为现在每个请求都被带到登录屏幕而不是最初请求的页面。
当然,我有很多方法可以解决这个问题,但它们似乎都没有特别吸引人。将伪凭证硬编码到我的测试代码中,然后作为每个测试用例的一部分登录,看起来很丑陋,脆弱且不安全。添加某种应用程序级别切换以禁用用于测试目的的身份验证同样似乎是一个坏主意 - 任何在生产中禁用安全性的可能性都是不可取的。
当然,我不是第一个遇到这个问题的人。在使用Spring Security为应用程序编写功能测试时,处理身份验证的最佳方法是什么?