使用app.yaml中的登录设置对单元进行测试

时间:2011-07-07 22:48:26

标签: python unit-testing google-app-engine nose testbed

我正在对使用app.yaml文件中的登录设置的Google应用引擎应用进行单元测试。如,

- url: /profile
  script: main.py
  login: required

我正在使用testbed,nose,nose-gae和webtest,虽然不确定哪些是重要的。

我的问题是在测试过程中会忽略app.yaml的登录设置。因此,如果我没有登录用户并致电

  response = self.app.get("/profile")

我获取了请求的页面,而不是重定向到登录页面。

有没有办法从app.yaml测试登录设置?

2 个答案:

答案 0 :(得分:2)

不使用单元测试。您的测试直接调用处理程序,这不涉及dev_appserver,这是强制执行这些限制的组件。如果要测试这些限制,则需要一个端到端测试来调用dev_appserver并通过HTTP调用它。

答案 1 :(得分:1)

我意识到这差不多2年了,但是I had a similar problem and came upon a solution that's been developed lately

devappserver2现在有一个"regression test framework",即default development appserver as of 1.7.6。它设置了一个确实使用app.yaml安全设置的服务器并进行这种集成测试