Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/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
Unit testing 设置/拆卸方法中的测试名称_Unit Testing_Ocunit - Fatal编程技术网

Unit testing 设置/拆卸方法中的测试名称

Unit testing 设置/拆卸方法中的测试名称,unit-testing,ocunit,Unit Testing,Ocunit,每次测试都会调用SetUp和tearDown方法。在setUp和tearDown方法中是否可以知道当前(正在运行的)测试名称?根据当前正在运行的测试,我需要做一些额外的工作 您可以在SenTestCase子类中使用选择器方法来获取将要执行的测试方法的SEL(在设置)/已执行(拆卸)。然后可以使用NSStringFromSelector将SEL转换为字符串 这里有一个例子: NSString *testToExecute = NSStringFromSelector([self selector]

每次测试都会调用SetUp和tearDown方法。在setUp和tearDown方法中是否可以知道当前(正在运行的)测试名称?根据当前正在运行的测试,我需要做一些额外的工作

您可以在
SenTestCase
子类中使用
选择器
方法来获取将要执行的测试方法的SEL(在
设置
)/已执行(
拆卸
)。然后可以使用
NSStringFromSelector
将SEL转换为字符串

这里有一个例子:

NSString *testToExecute = NSStringFromSelector([self selector]);
然而,我会重新思考你写测试的方式。我不喜欢根据要运行的测试在安装程序中执行条件代码的想法。。。
为了解决这个问题,您最好将该条件代码提取到一个方法中,并从您想要的所有测试方法中调用该方法。或者您甚至可以为这些测试用例创建一个单独的测试类,在其所有测试方法的设置/拆卸中执行额外的工作。

在Swift中:
self.name
testRun.test.name
将为您提供以下信息:
-[AppUITests testLoginFlow]