Unit tests for the app's pure, deterministic logic:
TimeFormatTests—TimeFormat.mmss/menuBarShortformatting and clamping.BundleIdParsingTests—UserSettings.parseBundleIdListsplitting/trimming/filtering.ReminderModelTests— theRemindermodel (case count, stable unique identifiers, non-empty copy).
These files compile against the app target via @testable import EyMiBoReset, but the
repository does not yet contain a test target to run them. Adding a target edits
project.pbxproj in ways that are risky to hand-author, so it's a one-time manual step in
Xcode (about a minute):
-
Open
EyMiBoReset.xcodeproj. -
File ▸ New ▸ Target… ▸ Unit Testing Bundle. Name it
EyMiBoResetTests, language Swift, and set Target to be Tested toEyMiBoReset. Finish. -
Xcode creates a new
EyMiBoResetTestsgroup with a sample file. Delete that sample (move to trash). -
Right-click the
EyMiBoResetTestsgroup ▸ Add Files to "EyMiBoReset"…, select the three*.swiftfiles in this folder, and ensure Target Membership ▸ EyMiBoResetTests is checked (not the app target). -
Run with ⌘U, or from the CLI:
xcodebuild -project EyMiBoReset.xcodeproj \ -scheme EyMiBoReset \ -destination 'platform=macOS' \ test CODE_SIGNING_ALLOWED=NO
Once the target exists, these tests run in CI and locally and will catch regressions in the
formatting/parsing/model logic (e.g. an off-by-one in menuBarShort, or a duplicated
reminder identifier).