我有一个用var UIButton
实现的简单子类:IBDesignableIBInspectable
@IBDesignable class Button: UIButton {
@IBInspectable var borderColor: UIColor = UIColor.whiteColor() {
didSet { layer.borderColor = borderColor.CGColor }
}
}
我没有在框架中使用它,它正在Interface Builder
中按预期工作,但是,一旦将此子类添加到Tests
目标中,它就会停止实时渲染,并且出现以下错误:
Main.storyboard: error: IB Designables: Failed to update auto layout status: dlopen(TestTests.xctest, 1): Library not loaded: @rpath/XCTest.framework/XCTest
Referenced from: TestTests.xctest
Reason: image not found
Main.storyboard: error: IB Designables: Failed to render instance of Button: dlopen(TestTests.xctest, 1): Library not loaded: @rpath/XCTest.framework/XCTest
Referenced from: TestTests.xctest
Reason: image not found
如果删除IBDesignable
和IBInspectablevar
,错误就会消失-不幸的是,Interface Builder
中的实时渲染也会消失。
如何针对IBDesignable
没有这些错误的课程进行测试?
起初,我认为这是Xcode中的一种错误。以下是
我发现的解决方法:
第1步
将您的类和属性标记为public
。
@IBDesignable public class Button: UIButton {
@IBInspectable public var borderColor: UIColor = UIColor.whiteColor() {
didSet { layer.borderColor = borderColor.CGColor }
}
@IBInspectable public var borderWidth:CGFloat = 0.0 {
didSet { layer.borderWidth = borderWidth }
}
}
步骤 2
从“测试”模块导入应用程序模块。
例如,假设您的应用程序被命名为MyGreatApp
, in your
MyGreatAppTests/MyGreatAppTests.swift
:
import UIKit
import XCTest
import MyGreatApp
class MyGreatAppTests: XCTestCase {
func testExample() {
let btn = Button()
btn.borderColor = UIColor.redColor()
XCTAssertEqual(UIColor(CGColor:btn.layer.borderColor), UIColor.redColor(), "borderColor")
}
}
您无需将“ Button.swift”添加到“测试”目标。
步骤3(适用于Swift)
在情节提要中,为任何自定义
类显式选择模块MyGreatApp,而不是让Xcode使用当前模块。
我已经尝试使用添加目标在Xcode 5上添加测试目标- 2013-09-24 10:43:14.446堆栈交换[48895:c07]加载错误/Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp fjegcztcnwqdfdimhonqzzqpdwr/Build/Products/Debug iPhone模拟器/堆栈交换测试。xc
我想为我的应用程序创建一个测试目标 在添加测试目标之前,应用程序构建并运行finebr>。当我添加测试目标时,这是我尝试构建时显示的内容 null 导出路径=/applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/usr/bin:/usr/bin:/usr/sbin:/sbin“ 错误:无法打
我得到错误每当添加实现'com.google.firebase: Firebase分析: 17.2.2'和应用插件:'com.google.gms.google服务'到应用程序 这就是我得到的错误
我在测试一个android项目时遇到了麻烦。 我有一个没有源的调试apk。“开始activity”类是 我把它安装在 然后使用以下build.gradle和androidmanifest.xml创建一个新项目 null null 但当我运行测试时,它报告找不到“com.restfriedchicken.android.mainActivity”: 看来仪器没有成功?
我试图创建一个新的Ionic项目,当我运行命令时: 运行cordova build ios运行命令:/users/nnation/myapp/hooks/after_prepare/010_add_platform_class.js/users/nnation/myapp错误:spawn EACCES at exports._errnoexception(util.js:746:11)at chi
添加测试 npm install --save-dev ava npm install --save-dev sinon npm install --save-dev superkoa npm install --save-dev zombie mkdir test touch test/test.js 将下面代码copy进去 import test from 'ava' import sup