单元测试。 开始。
你是一个伟大的程序员。 至少我希望如此。
即使您遵循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上看到您的应用程序!