gpt4 book ai didi

java - 下载文件的集成测试

转载 作者:行者123 更新时间:2023-12-02 12:02:10 26 4
gpt4 key购买 nike

我正在开发一个网络应用程序,它可以完成一些工作,将数据打包到一个文件中,然后返回该文件(Content-Type: application/force-download)。现在我正在实现一些集成测试,我要求提供数据,网络应用程序会返回文件。当测试下载预期数据时,Web 应用程序行为正确。我读过this我发现它非常鼓舞人心,但是当您构建要下载的文件时,该响应有效吗?

最佳答案

您可以采取多种方法。从最好到最差的顺序(YMMV):

从语义上检查输出。例如,对于 JSON,请检查它是否可以被解析,以及是否存在预期的键和值。如果是图像,请检查它是否可以解析并且具有正确的格式。

优点:您只是测试您真正关心的内容。测试失败可能指向特定问题。

缺点:需要更多工作。

直接逐字节比较文件。“黄金大师”方法。如果文件大于几行,或者它是二进制文件,我会将其放在磁盘上并让集成测试加载它。这还可以让您更轻松地在外部程序中查看/编辑它。

优点:很容易看到预期的文件是什么样子。

缺点:如果发生不相关的更改,可能会很脆弱。例如,JSON 对象中键的顺序并不重要。更糟糕的是,如果您生成 PNG 图像,创建时间可能会嵌入到文件中,因此您的测试每次都会失败。

比较文件哈希。我认为这是最后的手段。

优点:您不需要在集成测试中存储整个文件,只有当文件很大时,这才有用。

缺点:测试失败不会告诉您任何信息。即使集成测试中嵌入的哈希值也无法告诉您任何信息。这只是一个“变更检测器”测试。

关于java - 下载文件的集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47167826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com