AliSoftware / AliSoftware/Reusable
Undefined symbols when compiling for unit tests
- Vorherrschende Sprache
- Swift
- Sterne
- 3k
- Forks
- 231
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I've setup unit tests for my project and want to add View/ViewController instantiation to the tests because the project is modular. When compiling this error message appears when for any methods that came from Reusable.
```
Undefined symbols for architecture x86_64:
"static (extension in Reusable):Reusable.StoryboardSceneBased< where A: __C.UIViewController>.instantiate() -> A", referenced from:
implicit closure #1 () throws -> FooProject.HomeViewController? in FooProjectTests.InstantiationTests.testInstantiations() -> () in InstantiationTests.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
I'm not sure why this is happening because the other frameworks can be accessed easily. This is a sample code that generates the error
```swift
@testable import FooProject
import Nimble
import XCTest
class InstantiationTests: XCTestCase {
func testInstantiations() {
expect(HomeViewController.instantiate()).notTo(raiseException())
}
}
```
## Possible Faqs
**Is the project enabled for testability**
Yes
**Do you have other tests besides this?**
Yes
**What do you mean by the project being modular?**
The project has multiple Targets and Configurations. ex
Configurations
- Release
- Release Debug
- Staging
- Staging Debug
Targets
- FooProject
- FooProjectV2
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.