首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Kitura中运行单元测试时出错

在Kitura中运行单元测试时出错
EN

Stack Overflow用户
提问于 2017-02-07 22:25:01
回答 1查看 381关注 0票数 0

我对Kitura和Xcode很陌生,在添加测试文件时也会遇到一些问题。它似乎与@testing指令有关。我已经设置了与Kitura网站上显示的相同的设置。当我在控制台中调用迅速构建,然后调用快捷测试时,我得到以下错误:

代码语言:javascript
复制
Compile Swift Module 'testTests' (1 sources)
Linking ./.build/debug/testPackageTests.xctest/Contents/MacOS/testPackageTests
Undefined symbols for architecture x86_64:
  "__TFC4test3OkoCfT_S0_", referenced from:
      __TFC9testTests8OkoTests8test_addfT_T_ in OkoTests.swift.o
  "__TMaC4test3Oko", referenced from:
      __TFC9testTests8OkoTests8test_addfT_T_ in OkoTests.swift.o
ld: symbol(s) not found for architecture x86_64
<unknown>:0: error: link command failed with exit code 1 (use -v to see invocation)
<unknown>:0: error: build had 1 command failures
error: exit(1): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f /Users/*user*/Projects/Kitura/test/.build/debug.yaml test

但是,当我注释掉行@testable导入测试并键入迅速构建,然后是测试时,我会得到以下错误:

代码语言:javascript
复制
Compile Swift Module 'testTests' (1 sources)
/Users/*user*/Projects/Kitura/test/Tests/testTests/OkoTests.swift:6:17: error: use of unresolved identifier 'Oko'
        let o = Oko()
                ^~~
<unknown>:0: warning: 'cacheParamsComputed' is deprecated
<unknown>:0: warning: 'cacheAlphaComputed' is deprecated
<unknown>:0: warning: 'keepCacheWindow' is deprecated
<unknown>:0: error: 'memoryless' is unavailable
Metal.MTLCommandBufferError:19:14: note: 'memoryless' has been explicitly marked unavailable here
        case memoryless
             ^
<unknown>:0: error: build had 1 command failures
error: exit(1): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f /Users/*user*/Projects/Kitura/test/.build/debug.yaml test

当我尝试从Xcode生成的项目测试它(快速包生成-xcodeproj)时,我会得到编译错误:

没有测试文件,一切都正常工作。下文介绍项目结构:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-08 17:21:33

我认为问题在于Swift无法为包含main.swift文件的模块编译单元测试(也就是说,与用于其他项目的库相比,这些模块被编译成可执行文件)。我克隆了您的repo,并在删除main.swift和2)取消对可测试导入语句的注释之后,能够编译和运行单元测试。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42101177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档