Detects when your Xcode tests are being run in a CI server, and makes them pass🙈
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Volkswagen.xcodeproj
Volkswagen.xcworkspace
Volkswagen
VolkswagenDemo
VolkswagenTests
.gitignore
.travis.yml
LICENSE
README.md
Volkswagen.podspec

README.md

Volkswagen for Xcode

Build Status

CocoaPods Compatible Carthage Compatible Platform

Twitter Weibo

Volkswagen for Xcode makes failing test cases pass in CI servers.

This project is inspired by volkswagen for javascript, and phpunit-vw for PHP.

Example

Tests like these will pass.

Swift

import XCTest

class SwiftVolkswagenTests: XCTestCase {
  
  func testAssertTrue() {
    XCTAssertTrue(false);
  }
  
  func testAssertEqual () {
    XCTAssertEqual(1, 2);
  }
}

Objective C

#import <XCTest/XCTest.h>

@interface VolkswagenTests : XCTestCase

@end

@implementation VolkswagenTests

- (void)testAssertEqualObjects {
  XCTAssertEqualObjects(nil, [NSString new]);
}

- (void)testAssertNotNil {
  XCTAssertNotNil(nil);
}

@end

Requirements

Use CocoaPods or Carthage

  • iOS 8.0+ / Mac OS X 10.9+
  • Xcode 7.0

Pure Objective-C projects using CocoaPods should have lower requirements since they don't have to use_frameworks!.

Manually include the source

  • I have tested this yet, but this should work with almost all versions of OS in recent years

Currently using Volkswagen-Xcode on iOS/tvOS only supports Travis CI. More CI environment detection is yet to come. Keep an eye on this issue.

Installation

CocoaPods

You can use CocoaPods to install Volkswagen-Xcode by adding it to your to your Podfile:

platform :osx, '10.9'
use_frameworks!

target 'MyTestTarget' do
	pod 'Volkswagen', '~> 0.2.0'
end

Then, run the following command:

$ pod install

Carthage

Adding the following line to your Cartfile.private:

github "cezheng/Volkswagen" ~> 0.2.0

Run the following command:

$ carthage update

Then drag the Volkswagen.framework built by Carthage into your test target's Build Phases -> Link Binary With Libraries.

License

Volkswagen-Xcode is released under the MIT license. See LICENSE for details.