单元测试。 开始。

你是一个伟大的程序员。 至少我希望如此。
即使您遵循SOLID,DRY和KISS原则编写了干净的代码,您的应用程序也会出现错误。 显然是因为算法。 您可以为新的数据传输算法创建出色的逻辑,但是如果在代码中实现它时犯了一些错误,它将无法正常工作。
单位代码使您可以自动测试代码的逻辑。 您需要编写一个测试,并且该测试将在每次对代码进行任何更改时运行。

让我们编码吧!
哦停下来 下载我为您制作的启动项目。
https://yadi.sk/d/2qbUCjKJNRAccQ

只有一个包含逻辑的类,我们将对其进行测试。

 导入Foundationclass数学:NSObject {静态函数add(value1:Int,value2:Int)-> Int { 
返回值1 +值2
}

静态函数减法(value1:Int,value2:Int)-> Int {
返回值1 —值2
}

静态函数乘法(value1:Int,value2:Int)-> Int {
返回值1 *值2
}

静态函数Divide(value1:Int,value2:Int)-> Int {
返回值1 /值2
}

}

打开测试导航器,然后单击+

选择“新单元测试目标”。
您将看到从XCTestCase继承的新创建的类。

 导入XCTestclass UnitTestsStarterTests:XCTestCase { 

覆盖func setUp(){
super.setUp()

}

覆盖func tearDown(){

super.tearDown()
}

func testExample(){

}

}

让我们通过以下代码:

setUp()—应该包含必须在此类中的所有测试执行之前执行的代码。 您应该放置一些特殊的初始化程序或建立与任何数据源的连接。

tearDown()—应该包含必须在此类中的所有测试执行之后执行的代码。 关闭连接并做其他应在结束之前完成的事情。

testExample()—这是我们的第一个测试
放进去

  XCTAssertEqual(Math.add(value1:2,value2:2),4) 

现在,按功能名称旁边的菱形图标以运行此测试。 它将变成绿色。 这意味着测试成功通过。

XCTAssertEqual是一个(显然)检查两个传递的值是否相等的函数。 最简单的示例是检查您的函数是否正确计算了所有内容。 例如,您需要检查餐厅是否在您的用户附近,因此您需要计算用户坐标与餐厅位置之间的距离。

让我们创建一个新函数并将其命名为testMinus。 我们应该测试减法功能是否正常工作。
继续自己编写代码。 然后将其与我的版本进行比较。

  XCTAssertEqual(Math.subtract(value1:2,value2:2),0) 

希望您了解XCTAssertEqual。

现在让我们前进并使用XCTAssertLessThan
此功能用于检查第一个值是否小于第二个值。
创建一个新功能对其进行测试。

  func testMultiply(){ 
XCTAssertLessThan(Math.multiply(value1:2,value2:2),5)
}

在这里,我们测试2 * 2小于5。我希望这是正确的。

今天我们应该使用另外一个功能。
XCTAssertGreaterThan
此功能用于测试第一个值是否大于第二个值。

让我们测试一下

  func testDivide(){ 
XCTAssertGreaterThan(Math.divide(value1:2,value2:2),0)
}

希望它能工作。

请测试您自己的值和自定义测试组合。

今天就这些。

跟随我,很快我将发布本教程的第二部分。

如果您有任何疑问,可以发表评论或在我的电子邮件中问我:istukalov96@yandex.ru。

希望在AppStore上看到您的应用程序!