有没有相当于检查在swift语言中抛出异常单元测试?
例如我有一个类:
class Square : NSObject{ let sideLength: Int init(sideLength: Int) { assert(sideLength >= 0,"Wrong initialization of Square class with below zero side length") self.sideLength = sideLength super.init() } }
和测试检查它的工作.在目标C中,我可以这样写测试方法:
- (void)testInitializationWithWrongSideLengthThrowsExceptions{ XCTAssertThrows([[Shape alloc] initWithSideLength: -50],"Should throw exceptions on wrong side values initialisations"); }
什么是Swift等技术?
我认为assert() – 函数只能用于调试目的.不仅仅是因为苹果Swift-Book(
https://itun.es/de/jEUH0.l)的以下声明:
“断言导致您的应用程序终止,并不能代替设计您的代码,使得无效的条件不太可能出现.”
这就是为什么我会解决如下:
import Cocoa import XCTest class Square { let sideLength: Int init(_ sideLength: Int) { self.sideLength = sideLength >= 0 ? sideLength : 0 } } class SquareTests: XCTestCase { override func setUp() { super.setUp() } override func tearDown() { super.tearDown() } func testMySquareSideLength() { let square1 = Square(1); XCTAssert(square1.sideLength == 1,"Sidelength should be 1") let square2 = Square(-1); XCTAssert(square2.sideLength >= 0,"Sidelength should be not negative") } } let tester = SquareTests() tester.testMySquareSideLength()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。