所以我有一个带有测试的iOS项目,一切正常.
我觉得有必要改变项目名称.我按照苹果公司的文件指示,选择了项目并更改了名称.
经过一段时间的更新,最终工作,应用程序运行正常,但我仍然有问题.
由于这个恼人的问题,我无法运行测试.我确定这是一个基本的东西,但我仍然无法弄明白.
这是我的测试类(为了问题,我正在使用一个Foo
例子)
@testable import MyApp // File FooTests is part of module MyApp. Ignoring import.
class FooTests: QuickSpec {
override func spec() {
describe("a foo test") {
it("tests foo") {
let return = Foo.barMethod()
XCTAssertEqual(return, "expected", "Expected something, got \(return) instead")
}
}
}
Run Code Online (Sandbox Code Playgroud)
该Foo
班是不被认可的,我得到的是,测试类是部分的错误MyApp
是不是这样的.
我应该在哪里寻找?
小智 69
我只是偶然发现了同样的问题,你的帖子很有帮助.我发现的是通过更改Product Name
to AppNameTests
,根据您的示例,然后产品模块名称被正确反映,您不必Tests
在末尾添加$(PRODUCT_NAME:c99extidentifier)
.c99extidentifier
似乎是指Product Name
.
摘要:
Build Settings -> Packaging
Product Name
为您之前的测试目标,可能会附加Tests
@testable
,所以我不得不手动执行此操作[UPTADE]这帮助Jean-Frederic找出答案.这就是我接受它的原因.
我终于设法解决了这个问题,但我对解决方案不满意.
考虑我的应用名称 AppName
由于一些奇怪的原因,我无法解释,我的测试目标Build Settings -> Product Module Name
有$(PRODUCT_NAME:c99extidentifier)
哪个值Appname
,而不是AppNameTests
.我检查了其他项目,并且值是相同的,但转换为AppNameTests
所以在这种情况下,我不知道我能做什么使它自动更新并在名称中包含测试部分.
我最终做的是将名称设置为$(PRODUCT_NAME:c99extidentifier)Tests
.不确定这是否是一个合适的解决方案,但现在它的工作原理.
如果有人有更好的解决方案,请随时分享.
归档时间: |
|
查看次数: |
7533 次 |
最近记录: |