gpt4 book ai didi

function - 您如何编写测试来测试具有可变返回值的函数?

转载 作者:行者123 更新时间:2023-11-28 19:56:01 25 4
gpt4 key购买 nike

我有一个像这样的简单函数:

    function CreateFileLink()
{
global $Username;

return date("d-m-y-g-i");
}

如何编写代码来测试返回数据可变的函数?

最佳答案

如果你能以某种方式控制那个 date() 函数,你就可以测试它。例如,在这种情况下,您只关心日期函数是用“d-m-y-g-i”调用的;你并不真正关心它的输出。也许是这样的:

function CreateFileLink(DateProvider dateProvider)
{
global $Username;

return dateProvider.date("d-m-y-g-i");
}

抱歉,我什至不知道这是什么语言,但希望您能明白我的意思。在生产代码中,您可以通过执行以下操作来调用它:

DateProvider standardDateProvider = new DateProvider() { Date date(String str) { return date(str); } };
CreateFileLink(standardDateProvider);

但是在您的测试中,您可以提供一个替代实现,如果输入不是您所期望的,它将抛出一个错误:

DateProvider mockProvider = new DateProvider() 
{
Date date(String str)
{
if(str != "d-m-y-g-i") throw Exception();
return "success";
}
}

关于function - 您如何编写测试来测试具有可变返回值的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/481356/

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