3

我试图找到一个可以断言方法崩溃而不是异常的 XCT 宏。例如,在 NSDictionary 上设置 nil 键会引发异常,因此您可以使用

XCTAssertThrows([[NSMutableDictionary dictionary] setObject:@"foo" forKey:nil], @"Setting a nil key on an NSMutableDictionary should throw an exception.")

但是在 NSUserDefaults 上设置 nil 键似乎不会引发异常,它只是用一行代码使代码崩溃

线程 1:EXC_BREAKPOINT(代码=EXC_I386_BPT,子代码=0x0)

这看起来像一个异常断点,但不是抛出?无论如何,下面的断言将杀死上面提到的测试套件。

XCTAssertThrows([[NSUserDefaults standardUserDefaults] setObject:@"foo" forKey:nil], @"Setting a nil key on NSUserDefaults should crash.");
4

0 回答 0