xcode ios 测试
Unit testing is a testing method where you can test “unit” of code whether it is working as you want or not. In Xcode, use XCTest
framework to perform unit tests.
单元测试是一种测试方法,您可以在其中测试代码的“单元”是否正常工作。 在Xcode中,使用XCTest
框架执行单元测试。
Unit test is a function starts with lowercase word "test” and it must be method of subclass of XCTestCase
. It has conditions to check code is doing right as expected, but it has no parameters and no return value.
单元测试是一个以小写单词“ test”开头的函数,它必须是XCTestCase
的子类的方法,它具有检查代码是否按预期正确运行的条件,但没有参数且没有返回值。
How to setup unit testing
如何设置单元测试
Because units tests are perform under unit testing target you must have to add them before use. You can include “Unit Testing Bundle” in Xcode project two ways :
由于单元测试是在单元测试目标下执行的,因此必须在使用前添加它们。 您可以通过两种方式在Xcode项目中包含“单元测试包”:
- First, is to check “Include Unit Tests” while creating new project. 首先,是在创建新项目时检查“包含单元测试”。
Another, way is to go to
File > New > Target
and search for “Include Unit Tests” .另一种方法是转到“
File > New > Target
然后搜索“包含单元测试”。
After setup it will generate new subclass of XCTestCase
in your project inside testing folder which you can find inside Project navigator.
设置后,它将在测试文件夹中的项目中生成XCTestCase
新子类,您可以在项目导航器中找到它。
import XCTestclass XCArticleTests: XCTestCase { override func setUp() { // method is called before each test method
// setup code here } override func tearDown() { // method is called after each test method in the
// code to perform cleanup } func testExample() { // add test case.
// Use XCTAssert to test code }
}
This example defines XCArticleTests
which is a subclass of XCTestCase
. It has three methods setUp()
for initial setup, tearDown()
to perform cleanup after execution and test method called testExample
to perform all tests. If you want to read more about setup and teardown methods go to link .
这个例子定义XCArticleTests
这是一个子类XCTestCase
。 它具有三种用于初始设置的方法setUp()
, tearDown()
在执行后执行清理,以及一种称为testExample
测试方法以执行所有测试。 如果您想了解有关设置和拆卸方法的更多信息,请访问link 。
How to write unit tests
如何编写单元测试
Define new extension of type Int with a function called cubed which returns cube number.
使用名为cubed的函数定义Int类型的新扩展,该函数返回多维数据集编号。
extension Int {
func cubed() -> Int {
return self * self * self
}
}
Define new XCTestCase
subclass CubeNumberTests
with a method named testCubeNumber(). This method creates two properties one is number and another for cubeNumber and checks cubeNumber equals to 125.
使用名为testCubeNumber()的方法定义新的XCTestCase
子类CubeNumberTests
。 此方法创建两个属性,一个是number,另一个是cubeNumber,并检查cubeNumber等于125。
class CubeNumberTests: XCTestCase {
func testCubeNumber() {
let number = 5
let cubeNumber = number.cubed()
XCTAssertEqual(cubeNumber, 125)
}
}
Click on gray diamond button on the left side next to test method. The diamond turns into green if test passes or otherwise it will give error message. The above test will be succeed because cube number of 5 matches 125.
单击测试方法旁边左侧的灰色菱形按钮。 如果测试通过,菱形将变为绿色,否则它将给出错误消息。 上面的测试将成功,因为5的多维数据集匹配125。
Conclusion
结论
Unit testing is a necessary skill if you want to be a good developer. It look hard in the beginning but it gets easier as you use them. Don’t use unit tests all over your application it will be confusing and time wasting .You should use them when it’s too necessary.
如果您想成为一名优秀的开发人员,则单元测试是一项必不可少的技能。 刚开始时看起来很难,但是使用起来会更容易。 不要在整个应用程序中使用单元测试,这会造成混乱和浪费时间。您应该在必要时使用它们。
Thanks!
谢谢!
翻译自: https://medium.com/swlh/the-ultimate-guide-to-ios-unit-testing-with-swift-and-xcode-1beb45fb5e64
xcode ios 测试