我在控制器中有以下功能
def render201 = {
render(status:201)
}
def render202 = {
response.setStatus(202)
}
def render203 = {
response.setStatus(203)
render(status:203)
}
def render204 = {
response.setStatus(204)
render(status:205)
}
我有以下测试
void test201() {
controller.render201()
assertEquals(201, controller.response.status)
}
void test202() {
controller.render202()
assertEquals(202, controller.response.status)
}
void test203() {
controller.render203()
assertEquals(203, controller.response.status)
}
void test204() {
controller.render204()
assertEquals(204, controller.response.status)
}
test201 失败并显示此消息
junit.framework.AssertionFailedError: expected:<201> but was:<200>
出于某种原因,如果您没有明确设置响应状态,render 在从单元测试运行时将始终返回 200。
此外,如果我要从浏览器中实际调用它们,render202 会返回错误,但 render201 和 render203 会正常工作。我不知道 render204 会做什么。
这里发生了什么?这是Grails中的错误吗?