在 return 字符串信息不变的情况下调用函数两次
Calling a function twice where return string information doesn't change
我在 Javascript 中为 Web 应用程序编写了一个前端自动化测试,在该应用程序中,您使用电子邮件地址创建新用户,用户登录、注销,然后使用您最初创建的相同电子邮件地址详细信息。
为此,我在 Javascript 中有以下功能。当我在同一个 class 中调用此函数时,它 return 发送以下电子邮件字符串“email1615148555@example.com”。
当在另一个 class 中再次调用此函数时,'ts' 部分会因为时间的变化而发生变化。
我如何编码才能在同一测试中的另一个 class 中第二次使用相同的 return 电子邮件地址?
请注意,每次测试本身运行时都会生成一个唯一的电子邮件地址。
func() {
var ts = Math.round((new Date()).getTime() / 1000);
var consumerEmail = config.email + ts + "@example.com";
return consumerEmail.toString();
}
实施记忆概念以达到预期结果
https://www.freecodecamp.org/news/understanding-memoize-in-javascript-51d07d19430e/
您可以为此创建一个单例服务并执行如下操作:
var consumerEmail = new (function () {
var consumerEmail = "";
this.get = function() {
if (!consumerEmail){
var ts = Math.round((new Date()).getTime() / 1000);
consumerEmail = config.email + ts + "@example.com";
}
return consumerEmail.toString();
}
})();
然后调用它:
getConsumerEmail.get();
您可以将逻辑拆分为 2 个单独的函数,并在多个调用中重复使用时间戳。
const timestamp = () => Math.round(new Date()).getTime() / 1000);
function test(timestamp) {
return config.email + timestamp + "@example.com";
}
const ts = timestamp()
test(ts)
test(ts)
我在 Javascript 中为 Web 应用程序编写了一个前端自动化测试,在该应用程序中,您使用电子邮件地址创建新用户,用户登录、注销,然后使用您最初创建的相同电子邮件地址详细信息。
为此,我在 Javascript 中有以下功能。当我在同一个 class 中调用此函数时,它 return 发送以下电子邮件字符串“email1615148555@example.com”。 当在另一个 class 中再次调用此函数时,'ts' 部分会因为时间的变化而发生变化。
我如何编码才能在同一测试中的另一个 class 中第二次使用相同的 return 电子邮件地址?
请注意,每次测试本身运行时都会生成一个唯一的电子邮件地址。
func() {
var ts = Math.round((new Date()).getTime() / 1000);
var consumerEmail = config.email + ts + "@example.com";
return consumerEmail.toString();
}
实施记忆概念以达到预期结果
https://www.freecodecamp.org/news/understanding-memoize-in-javascript-51d07d19430e/
您可以为此创建一个单例服务并执行如下操作:
var consumerEmail = new (function () {
var consumerEmail = "";
this.get = function() {
if (!consumerEmail){
var ts = Math.round((new Date()).getTime() / 1000);
consumerEmail = config.email + ts + "@example.com";
}
return consumerEmail.toString();
}
})();
然后调用它:
getConsumerEmail.get();
您可以将逻辑拆分为 2 个单独的函数,并在多个调用中重复使用时间戳。
const timestamp = () => Math.round(new Date()).getTime() / 1000);
function test(timestamp) {
return config.email + timestamp + "@example.com";
}
const ts = timestamp()
test(ts)
test(ts)