瀏覽代碼

fastlane: Define new lane to run tests

Define a new lane to run the current test suites of the project, and make a few fixes in the tests itself.
David Cordero 7 年之前
父節點
當前提交
b3cf003484
共有 5 個文件被更改,包括 94 次插入89 次删除
  1. 67 82
      VLC for iOSUITests/VLC_for_IOSTestMenu.m
  2. 11 7
      VLC for iOSUITests/VLC_for_iOSTestVideoCodecs.m
  3. 8 0
      fastlane/Fastfile
  4. 6 0
      fastlane/README.md
  5. 2 0
      fastlane/Scanfile

+ 67 - 82
VLC for iOSUITests/VLC_for_IOSTestMenu.m

@@ -1,15 +1,19 @@
-//
-//  VLCTestLibrary.m
-//  VLC
-//
-//  Created by Carola Nitz on 9/21/17.
-//  Copyright © 2017 VideoLAN. All rights reserved.
-//
+/*****************************************************************************
+ * VLC_for_IOSTestMenu.m
+ * VLC for iOS
+ *****************************************************************************
+ * Copyright (c) 2018 VideoLAN. All rights reserved.
+ * $Id$
+ *
+ * Author: Carola Nitz <caro # videolan.org>
+ *
+ * Refer to the COPYING file of the official project for license.
+ *****************************************************************************/
 
 #import <XCTest/XCTest.h>
 
 @interface VLC_for_IOSTestMenu : XCTestCase
-
+@property (nonatomic, strong) XCUIApplication *application;
 @end
 
 @implementation VLC_for_IOSTestMenu
@@ -18,111 +22,92 @@
     [super setUp];
     self.continueAfterFailure = YES;
 
-    [[[XCUIApplication alloc] init] launch];
+    self.application = [[XCUIApplication alloc] init];
+    [self.application launch];
     [[XCUIDevice sharedDevice] setOrientation:UIDeviceOrientationFaceUp];
-}
 
-- (void)tearDown {
-    // Put teardown code here. This method is called after the invocation of each test method in the class.
-    [super tearDown];
+    if (self.application.navigationBars[@"Welcome"].exists) {
+        [self.application.navigationBars[@"Welcome"].buttons[@"Done"] tap];
+    }
 }
 
-- (void)testMenuTabAllFiles {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-    [app.cells/*@START_MENU_TOKEN@*/.staticTexts[@"All Files"]/*[[".cells.staticTexts[@\"All Files\"]",".staticTexts[@\"All Files\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/ tap];
-    XCTAssertNotNil(app.navigationBars[@"All Files"]);
+- (void)testMenuTabAllFiles
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"All Files"] tap];
+    XCTAssertNotNil(self.application.navigationBars[@"All Files"]);
 }
 
-- (void)testMenuTabMusicAlbums {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-    [app.cells/*@START_MENU_TOKEN@*/.staticTexts[@"Music Albums"]/*[[".cells.staticTexts[@\"Music Albums\"]",".staticTexts[@\"Music Albums\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/ tap];
-
-    XCTAssertNotNil(app.navigationBars[@"Music Albums"]);
+- (void)testMenuTabMusicAlbums
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"Music Albums"] tap];
 
+    XCTAssertNotNil(self.application.navigationBars[@"Music Albums"]);
 }
 
-- (void)testMenuTabTVShows {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-    [app.cells.staticTexts[@"TV Shows"] tap];
-
-    XCTAssertNotNil(app.navigationBars[@"TV Shows"]);
+- (void)testMenuTabTVShows
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"TV Shows"] tap];
 
+    XCTAssertNotNil(self.application.navigationBars[@"TV Shows"]);
 }
 
-- (void)testMenuTabLocalNetwork {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-    [app.cells.staticTexts[@"Local Network"] tap];
-
-    XCTAssertNotNil(app.navigationBars[@"Local Network"]);
+- (void)testMenuTabLocalNetwork
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"Local Network"] tap];
 
+    XCTAssertNotNil(self.application.navigationBars[@"Local Network"]);
 }
 
-- (void)testMenuTabNetworkStream {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-    [app.cells.staticTexts[@"Network Stream"] tap];
-
-    XCTAssertNotNil(app.navigationBars[@"Network Stream"]);
+- (void)testMenuTabNetworkStream
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"Network Stream"] tap];
 
+    XCTAssertNotNil(self.application.navigationBars[@"Network Stream"]);
 }
 
-- (void)testMenuTabDownloads {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-    [app.cells.staticTexts[@"Downloads"] tap];
-
-    XCTAssertNotNil(app.navigationBars[@"Downloads"]);
+- (void)testMenuTabDownloads
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"Downloads"] tap];
 
+    XCTAssertNotNil(self.application.navigationBars[@"Downloads"]);
 }
 
-- (void)testMenuTabWifi {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+- (void)testMenuTabWifi
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"Sharing via WiFi"] tap];
 
-    [app.cells.staticTexts[@"Sharing via WiFi"] tap];
-
-    XCTAssertFalse(app.tables.staticTexts[@"Inactive Server"].exists);
+    XCTAssertFalse(self.application.tables.staticTexts[@"Inactive Server"].exists);
 }
 
-- (void)testMenuTabCloudServices {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+- (void)testMenuTabCloudServices
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"Cloud Services"] tap];
 
-    [app.cells.staticTexts[@"Cloud Services"] tap];
-
-    XCTAssertNotNil(app.navigationBars[@"Cloud Services"]);
+    XCTAssertNotNil(self.application.navigationBars[@"Cloud Services"]);
 }
 
-- (void)testMenuTabSettings {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-
-    [app.cells.staticTexts[@"Settings"] tap];
+- (void)testMenuTabSettings
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"Settings"] tap];
 
-    XCTAssertNotNil(app.navigationBars[@"Settings"]);
+    XCTAssertNotNil(self.application.navigationBars[@"Settings"]);
 }
 
-- (void)testMenuTabAbout {
-
-    XCUIApplication *app = [[XCUIApplication alloc] init];
-    [app.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
-
-    [app.cells.staticTexts[@"About VLC for iOS"] tap];
+- (void)testMenuTabAbout
+{
+    [self.application.navigationBars[@"All Files"].buttons[@"Open VLC sidebar menu"] tap];
+    [self.application.cells.staticTexts[@"About VLC for iOS"] tap];
 
-    XCTAssertNotNil(app.navigationBars[@"About"]);
+    XCTAssertNotNil(self.application.navigationBars[@"About"]);
 }
 
 @end

+ 11 - 7
VLC for iOSUITests/VLC_for_iOSTestVideoCodecs.m

@@ -1,10 +1,14 @@
-//
-//  VLC_for_iOSTestVideoCodecs.m
-//  VLC for iOSUITests
-//
-//  Created by Carola Nitz on 9/25/17.
-//  Copyright © 2017 VideoLAN. All rights reserved.
-//
+/*****************************************************************************
+ * VLC_for_iOSTestVideoCodecs.m
+ * VLC for iOS
+ *****************************************************************************
+ * Copyright (c) 2018 VideoLAN. All rights reserved.
+ * $Id$
+ *
+ * Author: Carola Nitz <caro # videolan.org>
+ *
+ * Refer to the COPYING file of the official project for license.
+ *****************************************************************************/
 
 #import <XCTest/XCTest.h>
 

+ 8 - 0
fastlane/Fastfile

@@ -56,6 +56,14 @@ lane :ci do
   )
 end
 
+#### Tests ####
+
+desc 'Run Tests'
+lane :test do
+  cocoapods(repo_update: true)
+  scan(scheme: 'VLC-iOS')
+end
+
 #### Private ####
 
 desc 'Bump and commit app version and build number'

+ 6 - 0
fastlane/README.md

@@ -46,11 +46,17 @@ This action does the following:
 - Update the changelog from the NEWS file
 
 - Push the version bump
+
 ### ci
 ```
 fastlane ci
 ```
 
+### test
+```
+fastlane test
+```
+Run Tests
 
 ----
 

+ 2 - 0
fastlane/Scanfile

@@ -0,0 +1,2 @@
+workspace "VLC.xcworkspace"
+clean true