草庐IT

override_tests

全部标签

objective-c - Swift 3.1 中的 `@discardableResult override init()` 抛出 `warn_unused_result` Objective-C 警告

我有一个桥接到Objective-C的Swift类。即使使用@discardableResult,它也会在Objective-C类的构建中抛出此警告:Ignoringreturnvalueoffunctiondeclaredwith'warn_unused_result'attribute有没有什么办法可以解决这个问题?这是在带有Swift3.1的Xcode8.3中。 最佳答案 转换为(void)应该消除警告:(void)[SingletonClasssharedInstance]; 关

ios - "Cannot override ' init ' which has been marked unavailable"防止覆盖空 init

我有一种情况,我试图重写NSError来为我提供一个我将要重复使用的错误实例。在我更新Xcode并转换为Swift2之前,我的代码一直有效。publicclassNAUnexpectedResponseTypeError:NSError{publicconvenienceinit(){letmessasge="TheobjectfetchedbyAFNetworkingwasnotofanexpectedtype."self.init(domain:"MyDomain",code:6782,userInfo:[NSLocalizedDescriptionKey:messasge])}}

Swift:为什么我不能从 override init 调用方法?

我有以下代码示例(来自PlayGround):classSerializable:NSObject{overrideinit(){}}classDevice:Serializable{varuuid:Stringoverrideinit(){println("init")self.uuid="XXX"self.uuid=Device.createUUID()println(self.uuid)}classfunccreateUUID()->String{return"XXX2"}}vardevice=Device()您可以注意到我将createUUID方法实现为静态的。但为什么我不能以

testing - XCTAssert 和 Swift 中的断言之间的区别

XCTAssert()和Swift中的assert()有什么区别? 最佳答案 XCTAssert是来自XCTest框架的单元测试断言系列之一,应该只出现在单元测试目标中(即不在您的应用程序代码中).如果断言失败,它不会终止测试工具或托管应用程序的执行,而是记录并报告失败。单元测试断言在“测试”操作期间被记录和报告(与“运行”和“安装”操作相比)。assert是用于用户代码的仅调试构建的快速断言。这可以存在于您的应用程序或框架目标包中。如果断言失败,则当前应用程序将停止在可调试状态,或者如果不在调试器下则终止。相当于Objective

unit-testing - UIApplication.sharedApplication().delegate 作为 AppDelegate 导致 EXC_BAD_ACCESS 在快速单元测试中使用它

我正在尝试快速使用单元测试来测试一些真实的应用程序行为。当我尝试从我的测试函数将UIApplicationDelegate转换为我的AppDelegate时,我得到了EXC_BAD_ACCESS异常。测试代码下方:functestGetAppDelegate(){letsomeDelegate=UIApplication.sharedApplication().delegateletappDelegate=someDelegateasAppDelegate//EXC_BAD_ACCESShereXCTAssertNotNil(appDelegate,"failedtogetcastpo

unit-testing - Swift - 涉及 IBOutlets 的单元测试功能?

我正在为我的Swift项目设置单元测试,但在测试涉及更新IBOutlets的类函数时遇到了问题。我有一个函数validateUrl,它需要传递一个字符串,然后对其进行验证。如果有效,则启用UIButton,如果无效,则禁用UIButton。当我运行调用此函数的测试时,应用程序在启用或禁用UIButton的代码行崩溃。Storyboard和Controller都有适当的测试目标集。这行代码:self.submitButton.enabled=true//EnableSubmitButton吐出这个错误:fatalerror:unexpectedlyfoundnilwhileunwrapp

java - Android 中的@Override 注解

我是Java和Android编程的新手。我遇到的问题是,在浏览了几本书、论坛和网站之后,我并不清楚@override注释的作用。我知道这表示方法何时被过度使用。但为什么在android中需要它。我很少在java的源代码中看到它,但一直在android中看到它。 最佳答案 您可能很少在旧Java源代码中看到它,因为它是一项相当新的创新-而Android代码根据定义几乎是更新的。这是一个安全网,真的-它告诉编译器你正在尝试覆盖某些东西-所以如果方法没有覆盖任何东西,请失败,例如由于名称中的错字。这就像override是一个关键字,它是C

java - 单元 : "test" vs "should" 中测试方法的前缀

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。在JUnit中的测试方法名称前加上“test”是一种常见的做法。但是最近几年,有人把它改成前缀“should”。如果我想在数据库中测试客户创建,我通常会将方法命名为“testCustomerCreation”。但是,有些人会命名为“shouldCreateCustomer”。当我是项目中唯一的人或者当项目中的其他人都同意我时,这是很多个人品味。但当情况并

java - 为什么Eclipse不在 "Generate Delegate Methods"重构中添加@Override注解?

在Eclipse中,如果我尝试将“生成委托(delegate)方法”重构应用于Java类,如下所示:classFooimplementsBar{Barbar;}Eclipse不会为生成的方法生成@Override注释。这是错误还是有充分的理由? 最佳答案 这没有回答您为什么在生成委托(delegate)方法时不添加@Override注释的问题,但是您可以添加一个保存操作来在保存文件时为您执行此操作.前往Window->Preferences->Java->Editor->SaveActions请注意Additionalactions

java - 在 TestClass 中找不到测试 你是不是忘记了 @Test 注解?

我在运行测试时遇到这样的错误:org.mockito.exceptions.base.MockitoException:NotestsfoundinTestCaseHaven'tyouforgot@Testannotation?我当然有一个用@Test注释的方法。我做错了什么? 最佳答案 即使我有一个用@Test注释的公共(public)方法,我还是遇到了这个异常。结果是导入了org.junit.jupiter.api.Test,我改成了org.junit.Test并且运行正常。 关于j