Open molenick opened 1 year ago
If it's useful, I get the same error with just this minimal spec:
import Nimble
import Quick
class MobileTests: QuickSpec {}
I think I figured it out - I wasn't importing XCTest so Nimble's default assertion handler was missing, thus the error.
After adding the import and doing the following:
I got the test to build and run. :)
Scratch that, it works on the first run but subsequent runs re-surface the same issue.
Weird. I'm unable to reproduce the issue.
Attached is a zip file of the sample project I'm working with. Incredibly minimal, based off what you provided. Are you doing anything odd with Nimble (like a custom assertion recorder/handler, maybe?) that could help me reproduce?
Also, I do have to point out that Nimble 10 is more than a year old at this point. I understand the reluctance to upgrade Quick (though, Quick 7 fixes the issues with Quick 6). Nimble 12.2.0 is the current version, so maybe updating might help?
Thanks for taking a look! I ended up getting this working with SPM and Quick 7/Nimble 12. I'm going to try and circle back and try again with CocoaPods and more recent versions and report back.
The versions in my original issue were what I ended up with just adding version-less pods to my podfile. I'll try again with the most recent and see if that was enough to get things going.
Took a look again and got the same results for Quick 7 and Nimble 12 using Cocoapads. This is for a React Native project, my hunch is that there's some friction around the way RN includes pods in targets since @younata's sample app demonstrates there's no issue in quick/nimble itself.
The weird thing for me, which is probably a hint, is that the tests build and run successfully on the first run but fail on every subsequent build. 🤷♀️
I think the solution for me is to just include Quick/Nimble in my project using SPM since it's working and doesn't make things too terribly complicated from a dependency management perspective.
What did you do?
Is
use_frameworks!
required?pod install
Add my test:
class SomeSpec: QuickSpec { override func spec() { describe("Quick nimble config test") { it("has everything you need to get started") { expect(true).to(equal(true)) } } } }
.../Pods/Nimble/Sources/Nimble/Adapters/AssertionRecorder.swift:81:26 Value of type 'any AssertionHandler' has no member 'assertionFailure'