我有一个API,接受64基本代码图像,它从其他服务接收图像
{“token_image”:“BASE64 IMAGEN”,}
在测试中,我是这样测试的:
$response = ....
....
$attributes = ["token_image"=>"/9j/2wCEAAEBAQEBAQEBAQEBAQEBAQEBBAAgICAgI................."];
json("POST", "/route",
$attributes
)->assertOk()
->assertJson($response);
在我的测试中,我使用了saloon库,它允许第一次模拟和保存响应,并且在子序列请求中它不会命中路由,它只是使用记录的响应,但问题是我不能像这样添加属性:
[“token_image”=〉"/9j/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAGICAgI ................."]
因为base64图片太大了,字符串太多了,我该怎么办?谢谢。
1条答案
按热度按时间qco9c6ql1#
你需要的东西叫做“夹具”,基本上是:
tests
文件夹中,创建一个名为fixtures
的文件夹。fixtures
文件夹中创建my-base64-image.txt
。最后,使用上述夹具而不是硬编码,如:
注意将“../”部分更改为正确的路径,因为上面是基于我自己的文件夹结构(因为我不知道你的)。
上面只是一个例子,我的意思是,在每个测试中重复
fixtures
文件夹的路径是我永远不会做的事情,相反,在所有其他测试类扩展的TestCase
类中,或者在一些trait
中,尝试类似这样的东西: