2016-05-11 12 views
1

私はこのようなUITestingを作成しました。 3つのファイルを順番に実行する必要があり、このように名前を付ける必要があります。私はそれがかなり悪いと思う。私は論理的に(Test1などの代わりに)名前を付けたい。名前を変更して順番に実行することは可能ですか?iOS順番にUITestingを実行する(ファイルと機能レベル)

enter image description here

もう一つは、私がアルファベット順に私のメソッドに名前を付ける必要があります。ランダムに名前を付けて順番に実行したいどうすればいいですか?

- (void)test2CreatePost 
- (void)test3ClickLikeInNewsfeed 

答えて

0

これを行うには、この回答で説明している手順を使用します。

Running individual XCTest (UI, Unit) test cases for iOS apps from the command line

基本的には、あなたは、テストケースの実行順序を制御することが、XCTestCaseに存在testInvocationsをオーバーライドする必要があります。

これを達成する方法の詳細が必要な場合は、コメントを追加してください。

+0

私はそれをチェックさせてください。 –

2

これは、関数を入れ子にすることで実現できます。

// Note that this function contains tests but does not follow the 'testXXX' naming convention 
func login() { 
    // Implement your test here 
} 

func newsfeed() { 
    // Implement your test here 
} 

func moreTab() { 
    // Implement your test here 
} 

// Here is the test method that will run the tests in a user-specified order 
func testSomething() { 
    login() 
    newsfeed() 
    moreTab() 
} 
+0

Amm。いいですね。しかし、xCodeがレポートを生成するとき、testSomethingが成功したかどうかだけを示します。 –

1

機能ネストは、XCodeからUIテストを実行する場合にのみ有効です。しかし、テストがコマンドラインから実行されている場合、テストはアルファベット順に実行されています。私は、この問題はXCode 8の単体テストで修正されたが、UIテストではないようだと読んだ。例えば

、今私は、次のUIテストの階層を持っている:

UITests 
    TestCaseB 
    TestCaseA 

私はXCodeのからそれらを実行する、すなわち、それらが説明されていると、それらが同じ順序で実行されている8.2.1:

TestCaseB 
TestCaseA 

しかし、私はxcodebuild test TEST_TARGET_NAME=<TargetName> -scheme <UITestsSchemeName> destination 'platform=iOS Simulator,name=iPhone 7'を使用してコマンドラインから実行するとき、彼らは別の順序で実行されている:

TestCaseA 
TestCaseB 

注意してください。

関連する問題