簡體   English   中英

機器人中的測試套件問題

[英]Test suite issue in robotium

我有一個測試用例文件,包含大約20個擴展ActivityInstrumentationTestCase2的方法(測試用例)。 我需要編寫一個只調用選定的測試用例方法的套件,我知道在junit中有一個接受要執行的方法的方法

    suite.addTest( new AllTestCases("testcase1"));

有沒有類似的方法來做android機器人的東西? 如果是的話,請幫我解決這個問題。 謝謝。

你不能像new AllTestCases("testcase1");那樣進行調用new AllTestCases("testcase1"); 因為所有與Android相關的測試類都繼承自AndroidTestCaseInstrumentationTestCase並且這些類都沒有公開一個以字符串作為參數的構造函數。

您可以查看android.test.suitebuilder.TestSuiteBuilder但即使這個類也不允許運行單獨的測試方法,它接受包級別的測試。

通過使用Android測試注釋(例如@SmallTest@MediumTest@LargeTest等),您可能會有一些運氣實現目標。這些將允許您使用以下命令僅定位指定的帶注釋的方法:

adb shell am instrument -w -e size <small|medium|large> com.youproject.test/android.test.InstrumentationTestRunner

最后,可以直接從eclipse中定位單個測試方法或類。

要直接從命令行運行單個測試用例:

adb shell am instrument -w -e class < Test-Class-With-Package-Name > # < Test-Method-Name > < Package-Name-Of-Test-App > / < Instrumentation-Name-Defined-In-Manifest >

例:

adb shell am instrument -w -e class com.myapp.test.ActivityFragmentTest#testLogin com.myapp.test/android.test.InstrumentationTestRunner

您可以使用“adb shell am instrument”命令的“-e”參數以編程方式運行各個測試用例。 例如,對於'com.foo.bar.FooTest'中的方法'testFoo()',您可以運行:

adb shell am instrument -w \\ -e“class com.foo.bar.FooTest#testFoo”\\ com.foo.bar.test / android.test.InstrumentationTestRunner

http://developer.android.com/guide/developing/testing/testing_otheride.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM