gpt4 book ai didi

ios - 如何在 XCode 中将字符串从一个单元测试传递到另一个单元测试?

转载 作者:行者123 更新时间:2023-11-28 23:49:59 25 4
gpt4 key购买 nike

我有两个单元测试,testUserRegistration 和 testEmailConfirmation。首先运行注册测试,我创建一个唯一的电子邮件来使用随机整数进行注册,例如 autoTest1234@test.com 或 autoTest4928@test.com。在下一个测试 testEmailConfirmation 中,我需要使用在上一个测试中创建的相同用户名。如何将其从一种测试方法发送到另一种测试方法?

最佳答案

这不是您应该如何看待单元测试的方式。

首先,您不应该对测试顺序进行评估:您的测试很可能会以随机顺序运行,由 Xcode 决定,而不是您。您的测试应该彼此独立,并且您应该能够以任何顺序运行它们。在 Xcode 10 中,我们将进行测试并行化,您确实不希望它们彼此依赖。最后,这种随机化可以很好地确保您的测试不会仅仅因为副作用而起作用。

基本上,您需要两个测试。

第一个看起来像这样:

func testUserRegistration() {
// Given [an email address / username]
// When [you run the registration flow]
// Then [you assert that it worked]
}

既然此测试已通过,您可以认为您的用户注册有效,不应再次测试。不需要。这就是为什么它被称为“单元测试”,因为您测试“单元”。

现在在第二个测试中,您正在测试的单元是“确认”部分:

func testEmailConfirmation() {
// Given [new email/username, you can call the registration method with this new email here]
// When [you apply your confirmation flow]
// Then [you assert that the confirmation is working]
}

你可以调用配置了另一封随机邮件的用户注册函数(不是测试,真正的函数),并根据这封邮件做断言。

希望对您有所帮助!

关于ios - 如何在 XCode 中将字符串从一个单元测试传递到另一个单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52174960/

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