AliSoftware / AliSoftware/Reusable

Undefined symbols when compiling for unit tests

Aperta
#86 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
question
Lingua principale
Swift
Stelle
3k
Fork
231
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.