我正在使用XCTest
将UITest案例写入我的应用程序。一些测试用例需要一些输入。
考虑一下我正在编写登录页面的测试用例。登录页面需要用户名& 密码的。我应该检查无效的用户名,无效的密码,空字段,有效的用户名和密码。这些输入(用户名& 密码具有各种组合)在测试类中设置。
我想将这些输入与测试类分开。我应该从外面提供输出。所以我创建了一个 plist 文件,其中包含用户名&密码组合。我导入了 plist 文件的数据并将其提供给测试用例。
问题:此方法是否正常?或者我应该采用其他方式将输入传递给我的测试用例吗?
来到输出部分,在测试用例完成后,我们可以在测试导航器中看到测试结果"面板。 (通过的结果显示为绿色刻度线,其中红色显示失败的测试用例)。
我想从Xcode导出这些结果,以便我可以在网页中显示结果,或者我可能希望在文本文件中打印结果等。
问题:这可能吗?如果是,有人可以解释一下吗?
困惑!!
答案 0 :(得分:2)
您可以使用plist或Json文件进行测试的参数化。要解析输出,您可以使用xcodebuild
作为xcodebuild test
广泛使用的格式化程序,它也会将输出生成为单元样式XML或html。
您可以使用xcpretty
从命令行触发测试,并将输出通过管道传输到dynamic foo = new ExpandoObject();
foo.GCM = new ExpandoObject {};
foo.GCM.data = new ExpandoObject();
foo.GCM.data.message = "bogus";
string json = Newtonsoft.Json.JsonConvert.SerializeObject(foo,Newtonsoft.Json.Formatting.None);
答案 1 :(得分:0)
经过一番研究,我编写了一个可以将plist,json对象,txt文件作为输入的util类。它会将它们转换为.header
然后它将使用所需的数据作为输入。
对于输出部分,我使用的是OSX Server。内置输出比我的期望更优雅。感谢Apple !!