Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为了进行单元测试,我应该将私有IBOutlet设置为内部吗?_Ios_Swift_Unit Testing - Fatal编程技术网

Ios 为了进行单元测试,我应该将私有IBOutlet设置为内部吗?

Ios 为了进行单元测试,我应该将私有IBOutlet设置为内部吗?,ios,swift,unit-testing,Ios,Swift,Unit Testing,我正在尝试对我在类中作为IBOutlet连接的UIButtons运行测试。但是,它们都设置为private,因为其他类不需要访问它们。我应该通过删除private关键字使它们在内部可访问以进行测试,还是有更好的方法来测试它们?XCTest可以访问所有这些方法。试着假设这样写测试,看看你得到了什么。您不需要删除private关键字。问题是,您真的想测试它们吗?@Sulthan我希望能够按顺序“按”按钮,确保某些事情发生,某些事情不发生。但是,我已将iBouts及其iBaction设置为privat

我正在尝试对我在类中作为IBOutlet连接的UIButtons运行测试。但是,它们都设置为private,因为其他类不需要访问它们。我应该通过删除private关键字使它们在内部可访问以进行测试,还是有更好的方法来测试它们?

XCTest可以访问所有这些方法。试着假设这样写测试,看看你得到了什么。您不需要删除
private
关键字。

问题是,您真的想测试它们吗?@Sulthan我希望能够按顺序“按”按钮,确保某些事情发生,某些事情不发生。但是,我已将iBouts及其iBaction设置为private。只是想知道为了测试目的打开这些属性和方法是不是一件坏事。考虑一下这一点——你想写的是UI测试(一个集成测试),对于UI测试,你不需要对视图的特定引用,你可以使用查询找到它们。看见