用于分离 UITest 代码的 Swift 条件语句

Posted

技术标签:

【中文标题】用于分离 UITest 代码的 Swift 条件语句【英文标题】:Swift conditional statement for separating UITest code [duplicate] 【发布时间】:2021-10-18 05:36:11 【问题描述】:
IF UItest is running 

//execute this code

else

//execute this code


谁能告诉这里的条件语句应该是什么

【问题讨论】:

这能回答你的问题吗? How do I access a preprocessor macro from code in Xcode using Swift? 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

方法一:通过测试代码传递args

// In UI test file
class ProfileUI: XCTestCase 
    let app = XCUIApplication()

    override func setUpWithError() throws 
        app.launchArguments = ["-isUITestMode", "user_324234"]
        app.launch()
    

方法2:通过scheme传递args

检查参数

if CommandLine.arguments.contains("-isUITestMode") 
    // running ui test
 else if CommandLine.arguments.contains("-isUnitTestMode") 
    // running unit tests
 else 
    // normal

【讨论】:

以上是关于用于分离 UITest 代码的 Swift 条件语句的主要内容,如果未能解决你的问题,请参考以下文章

Uitest 刷新控制 swift

如何在 Swift 中 UITest 更改 UIButton 的图像?

Swift UITest - 将使用两者之一。哪个是未定义的

UITest 项目中的协议一致性错误

(Swift) 条件绑定的初始化程序必须具有 Optional 类型,而不是 'AVAudioInputNode'

测试记录器和 Xamarin 表单 - ID 不适用于 UITest