Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avh4/schwarzwald
Fast, stable integration testing for OS X
https://github.com/avh4/schwarzwald
Last synced: 8 days ago
JSON representation
Fast, stable integration testing for OS X
- Host: GitHub
- URL: https://github.com/avh4/schwarzwald
- Owner: avh4
- Created: 2014-07-05T22:51:08.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-07-08T02:45:50.000Z (over 10 years ago)
- Last Synced: 2024-10-27T12:06:03.066Z (about 2 months ago)
- Language: C++
- Homepage:
- Size: 340 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Integration testing for OS X.
## Example usage
- Add the Schwarzwald framework as a dependency to your test target
- Add your main app's Info.plist file to your test target```objc
NSApplication *application = [Schwarzwald createApplicationWithMainPlist:@"MyApp-Info"];[application click:@"My Button"];
application.keyWindow.title should equal(@"My App");
```## Implementation Notes
`NSRunLoop` is completely bypassed with the following justification:
`NSRunLoop` only handles three types of events. **Input events** are
completely simulated in tests and thus can be ignored. **`NSTimer` events**
will be dealt with in an `NSTimer` category and thus can be ignored. **Network
events** are not currently dealt with, but will most likely should be manually
controller with categories. **`performSelector:` is implemented using
`NSTimer`, and thus is already dealt with. The only unknown is whether or not
`NSApplication.updateWindows` will need to be called during tests.