在IOS的单元测试中同时运行2个功能

时间:2018-07-27 03:54:14

标签: ios unit-testing

我有一个关于单元测试中同时运行功能的问题。

我有1个数组A在ViewContronller中是全局的。

  • 1个功能B,用于将数据更新到该数组。
  • 1个函数C使用此数组进行过滤。

问题: 当App调用函数C进行过滤,而函数B更新时,App崩溃了。如果函数C与函数B同时进行过滤,则更新数组A的数据。=>应用程序崩溃,原因是“数组在枚举时发生了变异”

我不知道,我可以或者不能给他们编写单元测试。请帮助我检查一下上述情况。如何在单元测试中重现崩溃?

1 个答案:

答案 0 :(得分:0)

您可能正在做这样的事情。

for (id object in myArray)
   if (someCondition)
       [myArray removeObject:object]

在浏览可变数组时无法对其进行编辑,因此需要创建一个临时数组来保存要删除/修改的内容。