小编tam*_*ama的帖子

Grails集成测试 - 重复表单提交始终为invalidToken

我已经尝试在我的单元测试中测试重复的表单提交,就像在文档中一样,并且它有效. http://grails.github.io/grails-doc/3.0.x/guide/testing.html#unitTestingControllers

但在我的集成测试中,它始终失败并标记为invalidToken.我用与tokenHolder部分中的单元测试相同的方式编写它.

那么如何在Integration Test中处理有效令牌withForm?

我的集成测试:

@TestFor(RegisterTestedController)
class RegisterTestedControllerIntSpec extends Specification {
    void "test insert data register"() {
        given:
        controller.params.username == 'babaenciel'
        controller.params.companyName == 'tamago'

        when:
        def tokenHolder = SynchronizerTokensHolder.store(session)
        params[SynchronizerTokensHolder.TOKEN_URI] = '/registerTested/signUp'
        params[SynchronizerTokensHolder.TOKEN_KEY] = tokenHolder.generateToken(params[SynchronizerTokensHolder.TOKEN_URI])

        controller.signUp()

        then:        
        controller.modelAndView.model.parameter.username == 'babaenciel'
        controller.modelAndView.model.parameter.companyName == 'tamago'
    }
}
Run Code Online (Sandbox Code Playgroud)

控制者:

class RegisterTestedController {
    def signUp() {
        log.info("session: " + session.properties)
        log.info("request: " + request.properties)
        log.info("params: " + params)

        def invalidToken = false

        withForm {
            invalidToken = false
        }.invalidToken {
            invalidToken = true
        } …
Run Code Online (Sandbox Code Playgroud)

grails integration-testing

5
推荐指数
1
解决办法
278
查看次数

如何在Go json marshal中显示空对象而不是空struct或nil

我需要显示JSON的空对象{}时,做json.Marshal()了一个结构指针。我只能输出nullvalue或空的struct值。

如果person键用&Person{}或填充new(Person),它将显示空结构,如下所示:

{
    "data": {
        "person": {
            "name": "",
            "age": 0
        },
        "created_date": "2009-11-10T23:00:00Z"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们根本不初始化它,它将显示null

{
    "data": {
        "person": null,
        "created_date": "2009-11-10T23:00:00Z"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想展示"person": {}。可能吗?

前往Playground获取完整代码:https//play.golang.org/p/tT15G2ESPVc

json marshalling go

4
推荐指数
1
解决办法
648
查看次数

Laravel从绝对路径获取File对象

如何从绝对路径获取文件对象?

对象就像我从那里得到的一样$request->file('fileInput')

所以我可以使用类似$file->getClientOriginalName()或之$file->getClientOriginalExtension()类的方法。

我只能找到一种使用方法来获取文件对象File::allFiles($absoluteFolderPath)并通过它循环查找具有我要查找的文件名的文件的方法。

但是有更简单的东西吗?

php laravel-5

2
推荐指数
1
解决办法
7827
查看次数

标签 统计

go ×1

grails ×1

integration-testing ×1

json ×1

laravel-5 ×1

marshalling ×1

php ×1